Operaciones
aritméticasLos números decimales se escriben con punto (.), no con coma (,).
Volver al principio de la página
Los operadores aritméticos básicos son los siguientes:
| Ejemplo | Nombre | Resultado |
|---|---|---|
| -$a | Negación | El opuesto de $a. |
| $a + $b | Suma | Suma de $a y $b. |
| $a - $b | Resta | Diferencia entre $a y $b. |
| $a * $b | Multiplicación | Producto de $a y $b. |
| $a / $b | División | Cociente de $a y $b. |
| $a % $b | Módulo | Resto de $a dividido por $b.
Cuidado: Los números se convierten a enteros antes de efectuar el cálculo. Por ejemplo, 5 % 2.5 da como resultado 1 y no 0 porque calcula el resto de 5 entre 2, no de 5 entre 2.5. |
Volver al principio de la página
Los operadores de asignación permiten simplificar algunas expresiones de asignación:
| Ejemplo | Nombre | Equivale a |
|---|---|---|
| $a += $b | Suma | $a = $a + $b |
| $a -= $b | Resta | $a = $a - $b |
| $a *= $b | Multiplicación | $a = $a * $b |
| $a /= $b | División | $a = $a / $b |
| $a %= $b | Módulo | $a = $a % $b |
Volver al principio de la página
| Ejemplo | Nombre | Efecto |
|---|---|---|
| ++$a | Pre-incremento | Incrementa $a en uno, y luego devuelve $a. |
| $a++ | Post-incremento | Devuelve $a, y luego incrementa $a en uno. |
| --$a | Pre-decremento | Decrementa $a en uno, luego devuelve $a. |
| $a-- | Post-decremento | Devuelve $a, luego decrementa $a en uno. |
La diferencia entre el pre-incremento y el post-incremento es que en el primer caso primero se incrementa la variable y después se utiliza y en el segundo primero se utiliza y después se incrementa.
<?php |
10 |
<?php |
9 |
El operador de incremento funciona también con caracteres, teniendo en cuenta que al incrementar el carácter 'z' se obtiene la cadena 'aa'. El operador de decremento no funciona con caracteres.
<?php |
c |
<?php |
aa |
<?php |
b0a |
Volver al principio de la página
El operador % calcula el resto de una división entera
<?php |
El resto de 17 dividido entre 3 es 2 |
La función fmod calcula el resto de una división con números decimales
<?php |
El resto de 17 dividido entre 3.1 es 1.5 |
Volver al principio de la página
La función round(x) redondea el número x al entero más próximo.
<?php |
2.6 se redondea con round a a 3 2.3 se redondea con round a 2 |
La función round(x,n) redondea x con n decimales (si n es negativo redondea a decenas, centenas, etc.).
<?php |
2.6574 se redondea con round con dos decimales a
2.66 3141592 redondeado con round con centenas es 3141600 |
La función floor(x) redondea el número x al entero inferior (es decir, devuelve la parte entera).
<?php |
2.6 se redondea con floor a 2 2.3 se redondea con floor a 2 -2.6 se redondea con floor a -3 -2.3 se redondea con floor a -3 |
La función ceil(x) redondea el número x al entero superior.
<?php |
2.6 se redondea con ceil a 3 2.3 se redondea con ceil a 3 -2.6 se redondea con ceil a -2 -2.3 se redondea con ceil a -2 |
Volver al principio de la página
La función pow(x, y) calcula x elevado a y.
<?php |
23 = 8 |
Volver al principio de la página
Las funciones max() y min() devuelven el máximo y el mínimo, respectivamente, de una lista o matriz de valores..
<?php |
El máximo es 40 |
<?php |
El mínimo es 14.7 |
<?php |
El mínimo es 14.7 |
Volver al principio de la página
Para escribir un número con los símbolos de separación de decimales y de miles españoles, es decir, una coma (,) para separar la parte entera de la decimal y un punto (.) para separar las cifras de la parte entera en grupos de tres, se puede utilizar la función number_format().
<?php |
1,300.00000 |
<?php |
123,456.79 |
<?php print "<p>".number_format(123456789123, 0, ',', '.')."</p>"; |
123.456.789.123 |
<?php print "<p>".number_format(123456789123456.789, 2, ',', '.')."</p>"; |
123.456.789.123.456,78 |
La función requiere dos o cuatro argumentos:
Si sólo se utilizan dos argumentos, se utiliza la coma como separador de parte entera y decimal y punto como separador de miles (notación inglesa).
La función devuelve el número formateado.
Esta página forma parte del curso "Páginas web con PHP" disponible en http://www.mclibre.org
Esta obra está bajo una licencia de Creative
Commons.