La operaciones o expresiones matemáticas en PHP se formulan de una forma natural:
- variable = número operador número ;
Ejemplo:
<?php $suma = 5 + 6; // Esto pone en pantalla el número 11 echo 'El resultado de la suma es: ' . $suma ; ?>
Sin embargo, no es obligatorio que el resultado de una expresión sea asignado a una variable para poder usarlo.
Ejemplo:
<?php // Esto pone en pantalla el número 11 echo 'El resultado de la suma es: ' . ( 5 + 6 ) ; ?>
Operadores matemáticos comunes
- = Igual: Asigna el resultado de cualquier expresión.
Ejemplo:
<?php $resulta = 555; // Esto pone en pantalla el número 555 echo $resulta; ?>
Por otra parte, como la asignación también es una expresión, tiene un resultado (el de la propia asignación) que es posible usar.
Ejemplos:
<?php $resulta = ( $pectlinco = 555 ); // Esto pone en pantalla el numero 555 echo 'El resultado de la suma es: ' . $resulta ; ?>
<?php // Esto pone en pantalla el numero 555 echo 'El resultado de la suma es: ' . (( $resulta = 552 ) + 3); ?>
- + Más: Obtiene el resultado de sumar dos números
Ejemplo:
<?php $resulta = 555 + 23; // Esto pone en pantalla el número 578 echo $resulta; ?>
- - Menos (guión): Obtiene el resultado de restar el segundo número del primero
Ejemplo:
<?php $resulta = 555 - 22; // Esto pone en pantalla el número 533 echo $resulta; ?>
En la suma y en la resta el primer operando podría omitirse, y funcionaría como si éste valiese cero.
Ejemplo:
<?php $negatiffo = - 22; $positiffo = + 33; // Esto pone en pantalla los números -22 y 33 echo 'Resultados: ' . $negatiffo . ' y ' . $positiffo; ?>
- * Por (asterisco): Obtiene el resultado de multiplicar dos números
Ejemplo:
<?php $resulta = 555 * 22; // Esto pone en pantalla el número 12210 echo $resulta; ?>
- / Entre (barra): Obtiene el resultado de dividir el primer número entre el segundo
Ejemplo:
<?php $resulta = 555 / 5; // Esto pone en pantalla el número 111 echo $resulta; ?>
- % Módulo (porciento): Obtiene el resto de la división del primer número entre el segundo
Ejemplo:
<?php $resulta = 555 % 22; // Esto pone en pantalla el número 5 // que es el resto de 555 entre 22 echo $resulta; ?>
Operadores especiales
Existen 2 operadores especiales para contar, que se usan frecuentemente para dar mayor velocidad al código.
- variable++
Incremento: suma 1 a la variable
Es equivalente a: variable = variable + 1
Ejemplo:
<?php $resulta = 22; $resulta++; // Esto pone en pantalla el número 23 echo $resulta; ?>
- variable--
Decremento: resta 1 a la variable
Es equivalente a: variable = variable - 1
Ejemplo:
<?php $resulta = 22; $resulta--; // Esto pone en pantalla el número 21 echo $resulta; ?>
Prioridad o precedencia en los cálculos
Cuando una formula es compleja es esencial conocer en qué orden se ejecutan las operaciones.
Existe una jerarquía por defecto en cuanto al orden de ejecución, que determina que las operaciones se ejecutan de izquierda a derecha, haciéndose en este orden: primero los incrementos y decrementos, después los restos de división ( % ), divisiones ( / ) y multiplicaciones ( * ), y después las restas ( - ) y las sumas ( + ).
Ejemplo:
<?php // Esto pone en pantalla el número 16 $resulta = 1 + 5 * 3; echo $resulta; ?>
Como se puede ver en el ejemplo, si ejecutamos las operaciones de izquierda a derecha, sin asignar prioridades, el resultado sería 18 pero, al ser la multiplicación prioritaria sobre la suma, la operación se realiza en 2 tiempos: 5 * 3 = 15 y después 15 + 1, dando un resultado de 16.
Por encima de las prioridades por defecto, podemos indicar el orden en el que queremos que se realicen los cálculos utilizando paréntesis, pues siempre se realizarán primero las operaciones contenidas en los paréntesis más interiores, después las de los más exteriores y por último las que estén fuera de ellos.
Ejemplo:
<?php $resulta = (1 + 5) * 3; // Esto pone en pantalla el número 18 echo $resulta; ?>
Funciones complementarias
- resultado =
abs
(numero) Valores absolutos
Obtiene el valor absoluto de un número. El valor absoluto es el mismo número pero despreciando el signo (es decir, que siempre será positivo).
- resultado = número
exp
(elevador) Potencias
Eleva número a la potencia de elevador.
- resultado =
sqrt
(número) Raíces cuadradas
Obtiene la raíz cuadrada del número.
Redondeos
- resultado =
round
(número)
Redondea el número hacia abajo, si el primer dígito a eliminar es menor que 5; y redondea hacia arriba si el primer dígito a eliminar es 5 o mayor.
Ejemplo:
<?php $resulta_abajo = round (73.4); $resulta_arriba = round (16.5); // Esto pone en pantalla los números 73 17 echo $resulta_abajo . ' ' . $resulta_arriba; ?>
- resultado =
floor
(número)
Redondea el número hacia abajo (desprecia los decimales).
Ejemplo:
<?php $resulta = floor (54.67); // Esto pone en pantalla el número 54 echo $resulta; ?>
- resultado =
ceil
(número)
Redondea el número hacia arriba.
Ejemplo:
<?php $resulta = ceil (35.12); // Esto pone en pantalla el número 36. echo $resulta; ?>
Números aleatorios
Los números aleatorios son utilizados en aplicaciones de juegos y para generar claves de seguridad. Para generarlos se suele utilizar como base el tiempo del ordenador, a nivel de microsegundos.
Ejemplo:
<?php //Se fija base multiplicando por 1 millón. srand(microtime() * 1000000); // Se obtiene el número aleatorio $aleatorio = rand(); // Esto pone en pantalla un número al azar, que // al pulsar F5 irá cambiando. echo $aleatorio; ?>
Existen muchas más funciones matemáticas, pero no las podremos ver todas en este curso.
Como referencia conviene saber que hay funciones para cambios de base, cálculos binarios, cálculos geométricos, conversiones de grados a radianes, logaritmos, hipérboles y precisiones arbitrarias.