En este tutorial aprenderá cómo realizar operaciones matemáticas en PHP.

Realización de operaciones matemáticas

PHP tiene varias funciones integradas que te ayudan a realizar cualquier cosa, desde simples sumas o restas hasta cálculos avanzados. Ya has visto cómo realizar operaciones matemáticas básicas en el capítulo de operadores de PHP. Veamos un ejemplo más:
Ejemplo

    <? php
    echo 7 + 3; // 0 entradas: 10
    echo 7 - 2; // 0 entradas: 5
    echo 7 * 2; // 0alida: 14
    echo 7/2; // 0 entradas: 3.5
    echo 7% 2; // 0utputs: 1
    ?>


Cada operación matemática tiene un cierto nivel de precedencia; en general, la multiplicación y la división se realizan antes de la suma y la resta. Sin embargo, los paréntesis pueden alterar esta precedencia; las expresiones incluidas entre paréntesis siempre se evalúan primero, independientemente del nivel de precedencia de la operación, como se demuestra en el siguiente ejemplo:
Ejemplo


    <? php
    echo 5 + 4 * 10; // 0dimensiones: 45
    echo (5 + 4) * 10; // 0alida: 90
    echo 5 + 4 * 10/2; // 0alida: 25
    echo 8 * 10/4 - 2; // 0alida: 18
    echo 8 * 10 / (4 - 2); // 0 entradas: 40
    echo 8 + 10/4 - 2; // 0utputs: 8.5
    echo (8 + 10) / (4 - 2); // 0 entradas: 9
    ?>


En la siguiente sección, vamos a ver algunas funciones incorporadas de PHP que se utilizan con más frecuencia en la realización de operaciones matemáticas.
Encuentre el valor absoluto de un número

El valor absoluto de un entero o un flotante se puede encontrar con la función abs (), como se demuestra en el siguiente ejemplo:
Ejemplo
Ejecutar este código »

    <? php
    echo abs (5); // 0utputs: 5 (entero)
    echo abs (-5); // 0utputs: 5 (entero)
    echo abs (4.2); // 0 entradas: 4.2 (doble / flotante)
    echo abs (-4.2); // 0 entradas: 4.2 (doble / flotante)
    ?>


Como puede ver si el número dado es negativo, el valor devuelto es positivo. Pero, si el número es positivo, esta función simplemente devuelve el número.

Redondea un valor fraccionario hacia arriba o hacia abajo

La función ceil () se puede usar para redondear un valor fraccionario hasta el siguiente valor entero más alto, mientras que la función floor () se puede usar para redondear un valor fraccionario al siguiente valor entero más bajo, como se muestra en el siguiente ejemplo:
Ejemplo
Ejecutar este código »


<?php
echo ceil(4.2); // 0utputs: 5
echo ceil(9.99); // 0utputs: 10
echo ceil(-5.18); // 0utputs: -5

// Round fractions down
echo floor(4.2); // 0utputs: 4
echo floor(9.99); // 0utputs: 9
echo floor(-5.18); // 0utputs: -6

?>


Encuentra la raíz cuadrada de un número

Puede usar la función sqrt () para encontrar la raíz cuadrada de un número positivo. Esta función devuelve un valor especial NAN para números negativos. Aquí hay un ejemplo:
Ejemplo
Ejecutar este código »

    <? php
    echo sqrt (9); // 0utputs: 3
    echo sqrt (25); // 0 entradas: 5
    echo sqrt (10); // 0dimensiones: 3.1622776601684
    echo sqrt (-16); // 0utputs: NAN
    ?>


Generar un número aleatorio

La función rand () se puede usar para generar un número aleatorio. Opcionalmente, puede especificar un rango pasando los argumentos min, max, como se muestra en el siguiente ejemplo:
Ejemplo


    <? php
    // Generar algunos números aleatorios
    echo rand () "<br>";
    echo rand () "<br>";
    
    // Genera algunos números aleatorios entre 1 y 10 (inclusive)
    echo rand (1, 10). "<br>";
    echo rand (1, 10). "<br>";
    ?>


Si se llama a la función rand () sin los argumentos mínimos, máximos opcionales, devuelve un número pseudoaleatorio entre 0 y getrandmax (). La función getrandmax () muestra el mayor valor aleatorio posible, que es solo 32767 en la plataforma Windows. Por lo tanto, si necesita un rango mayor que 32767, puede simplemente especificar los argumentos mínimo y máximo.

Convertir números decimales en binario y viceversa

La función decbin () se usa para convertir un número decimal en un número binario. Mientras que su contraparte, la función bindec () convierte un número de binario a decimal.
Ejemplo


    <? php
    // Convertir decimal a binario
    echo decbin (2); // 0 entradas: 10
    echo decbin (12); // 0 entradas: 1100
    echo decbin (100); // 0alida: 1100100

    // Convertir binario a decimal
    echo bindec (10); // 0utputs: 2
    echo bindec (1100); // 0alida: 12
    echo bindec (1100100); // 0 entradas: 100
    ?>


Convertir números decimales en hexadecimal y viceversa
La función dechex () se usa para convertir un número decimal en representación hexadecimal. Mientras que, la función hexdec () se usa para convertir una cadena hexadecimal a un número decimal.
Ejemplo
Ejecutar este código »

    <? php
    // Convertir decimal a hexadecimal
    echo dechex (255); // 0utputs: ff
    echo dechex (196); // 0utputs: c4
    echo dechex (0); // 0 entradas: 0
    
    // Convertir hexadecimal a decimal
    echo hexdec ('ff'); // 0dimensiones: 255
    echo hexdec ('c4'); // 0alida: 196
    echo hexdec (0); // 0 entradas: 0
    ?>


Convertir números decimales en octal y viceversa

La función decoct () se usa para convertir un número decimal en una representación octal. Mientras que, la función octdec () se usa para convertir un número octal a un número decimal.
Ejemplo

    <? php
    // Convertir decimal a octal
    echo decoct (12); // 0alida: 14
    echo decoct (256); // 0 entradas: 400
    eco decoct (77); // 0alida: 115

    // Convertir octal a decimal
    echo octdec ('14 '); // 0alida: 12
    echo octdec ('400'); // 0 entradas: 256
    echo octdec ('115'); // 0alida: 77
    ?>

Convierte un número de un sistema base a otro

La función base_convert () puede usarse para convertir un número de un sistema base a otro. Por ejemplo, puede convertir decimal (base 10) a binario (base 2), hexadecimal (base 16) a octal (base 8), de octales a hexadecimales, hexadecimales a decimales, y así sucesivamente.

Esta función acepta tres parámetros: el número a convertir, la base en la que se encuentra actualmente y la base en la que se convertirá. La sintaxis básica es la siguiente:
base_convert (number, frombase, tobase);

Aquí, el número puede ser un número entero o una cadena que representa un número entero. Tanto frombase como tobase tienen que estar entre 2 y 36, inclusive. Los dígitos en números con una base más alta que 10 se representarán con las letras a-z, donde a significa 10, b significa 11 yz significa 35. Aquí hay un ejemplo simple para mostrar cómo funciona esta función:
Ejemplo
Ejecutar este código »

    <? php
    // Convertir decimal a binario
    echo base_convert ('12 ', 10, 2); // 0 entradas: 1100
    // Convertir binario a decimal
    echo base_convert ('1100', 2, 10); // 0alida: 12
    // Convertir decimal a hexadecimal
    echo base_convert ('10889592', 10, 16); // 0alida: a62978
    // Convertir hexadecimal a decimal
    echo base_convert ('a62978', 16, 10); // 0dimensiones: 10889592

    // Convertir decimal a octal
    echo base_convert ('82 ', 10, 8); // 0alida: 122

    // Convertir octal a decimal
    echo base_convert ('122', 8, 10); // 0alida: 82    

    // Convertir hexadecimal a octal
    echo base_convert ('c2c6a8', 16, 8); // 0dimensiones: 60543250

    // Convertir octal a hexadecimal
    echo base_convert ('60543250', 8, 16); // 0alida: c2c6a8    

    // Convertir octal a binario
    echo base_convert ('42 ', 8, 2); // 0alida: 100010

    // Convertir binario a octal
    echo base_convert ('100010', 2, 8); // 0dimensiones: 42


    //Convertir hexadecimal a binario
    echo base_convert ('abc', 16, 2); // 0dimensiones: 101010111100

    // Convertir binario a hexadecimal
    echo base_convert ('101010111100', 2, 16); // 0utputs: abc
    ?>



Nota: La función base_convert () siempre devolverá un valor de cadena. Si el valor devuelto está en la base 10, la cadena resultante se puede usar como una cadena numérica en los cálculos y PHP la convertirá en un número cuando se realice el cálculo.


<ANTERIOR                                      SIGUIENTE>