PHP es un lenguaje flexible y de uso general, ideal para cubrir nuestras necesidades de codificación en aplicaciones web. En cambio, si tuviéramos que realizar cálculos aritméticos complejos con gran precisión y control sobre los resultados debe quedar claro que PHP no es el lenguaje indicado, pero, normalmente, no son estos los requerimientos habituales en las aplicaciones web. Dicho esto sigamos adelante con lo que nos ofrece PHP con sus operadores aritméticos.
En estos operadores no hay sorpresas. Son los operadores necesarios para realizar las típicas operaciones de cálculo.
- Suma: Para sumar dos operandos (+).
- Resta: Para restar dos operandos (-).
- Multiplicación: Para multiplicar dos operandos (*).
- División: Para dividir dos operandos (/). La división entre dos valores devuelve un valor de coma flotante (float), salvo que los dos operandos sean enteros y divisibles. Si se quiere obtener un resultado entero se puede utilizar la función intval().
- Módulo: Para calcular el resto de una división de enteros (%). Si los operandos son de tipo float, se trunca su parte decimal antes del cálculo. El signo del módulo (el resultado) es el signo del primer operando.
- Negación: Operador unario (-), valor negativo.
<?php // Uso de operandos aritméticos (ejemplo file009.php) $var1 = 4.5; $var2= 5; // Suma $resultado = $var1 + $var2; // resultado es 9.5 // Resta $resultado = $var1 - $var2; // resultado es -0.5 // Multiplicación $resultado = $var1 * $var2; // resultado es 22.5 // División $resultado = $var1 / $var2; // resultado es 0.9 // Módulo // considera sólo la parte entera de las variables $resultado = $var1 % $var2; // resultado es 4 $var1 = 10; $var2 = 3.98; $resultado = $var1 % $var2; // resultado es 1 ?>
Funciones matemáticas
Muchas veces los operadores aritméticos no son suficientes para resolver nuestros problemas de cálculo, en estas situaciones podemos utilizar sus funciones matemáticas que nos simplificarán el trabajo. Las funciones matemáticas cubren un amplio espectro: desde el simple cálculo del valor mayor entre dos números hasta cualquiera de los cálculos trigonométricos y con la posibilidad de controlar el nivel de precisión.
PHP incluye varias extensiones matemáticas, cada una con un considerable número de funciones: BCMath, GMP, Math y Statistics.
El uso de las funciones tiene el siguiente formato, por ejemplo, para calcular la raíz cuadrada de un número:
$rc = sqrt($valor);
Más adelante estudiaremos el uso general de las funciones pero como resumen veamos una lista de las funciones matemáticas más comunes disponibles en PHP de modo estándar:
- abs: Valor absoluto.
- acos: Arco coseno.
- acosh: Coseno hiperbólico inverso.
- asin: Arco seno.
- asinh: Seno hiperbólico inverso.
- atan2: Arco tangente de dos variables.
- atan: Arco tangente.
- atanh: Tangente hiperbólico inverso.
- base_convert: Conversión de números en distintas bases.
- bindec: Binario a decimal.
- ceil: Redondeo hacia arriba.
- cos: Coseno.
- cosh: Coseno hiperbólico.
- decbin: Decimal a binario.
- dechex: Decimal a hexadecimal.
- decoct: Decimal a octal.
- deg2rad: Convierte un número en grados a su equivalente a radianes.
- exp: Calcula el exponente del número e.
- floor: Redondea hacia abajo.
- fmod: Retorna el resto de una división.
- getrandmax: Muestra el mayor valor random posible devuelto por la función rand().
- hexdec: Hexadecimal a decimal.
- hypot: Calcula la hipotenusa de un triángulo rectángulo.
- is_finite: Comprueba si un valor es un número válido (no infinito).
- is_infinite: Comprueba si un valor es infinito.
- is_nan: Comprueba si un valor no es un número.
- log10: Logaritmo de base 10.
- log: Logaritmo natural.
- max: Devuelve el mayor valor entre una lista de valores.
- min: Devuelve el menor valor entre una lista de valores.
- mt_getrandmax: Muestra el mayor valor random posible devuelto por la función mt_rand().
- mt_rand: Genera un valor random mediante un mecanismo mejorado respecto a rand().
- mt_srand: Define el generador de números random para la función mt_rand().
- octdec: Octal adecimal.
- pi: Devuelve el valor de pi.
- pow: Expresión exponencial
- rad2deg: Convierte un valor en radianes a su equivalente en grados.
- rand: Genera un entero random (aleatorio).
- round: Redondea un valor numérico con coma.
- sin: Seno.
- sinh: Seno hiperbólico.
- sqrt: Raíz cuadrada.
- srand : Define el generador de números random para la función rand().
- tan: Tangente.
- tanh: Tangente hiperbólica.