Operadores
Ariméticos
| Ejemplo | Nombre | Resultado |
|---|---|---|
-$a | Negación | Opuesto de $a. |
$a + $b | Suma | Suma de $a y $b. |
$a - $b | Resta | Diferencia de $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 | Resto de $a dividido por $b. |
$a ** $b | Potencia | Resultado de $a elevado a $b. PHP >= 5.6. |
En el caso de cadenas, si queremos concatenarlas, se utiliza el operador .:
<?php
$x = 33;
$y = 11;
$z = $x + $y;
echo "La suma de 33 y 11 es ".44."<br />";
echo "La suma de ".$x." y ".$y." es ".(33 + 11)."<br />";
echo "La suma de ".$x." y ".$y." es ".$z."<br />";
?>
Realmente, en vez de concatenar cadenas con variables, podemos imprimirlas directamente ya que se expanden automáticamente:
<?php
echo "La suma de $x y $y es $z <br />";
?>
En ocasiones, necesitamos rodear el nombre de la variable entre llaves para poder unir más texto al resultado:
<?php
$color = "rojo";
echo "El plural de $color el ${color}s";
?>
Más adelante estudiaremos algunas funciones para el tratamiento de cadenas.
Comparación
| Ejemplo | Nombre | Resultado |
|---|---|---|
$a == $b | Igual | true si $a es igual a $b tras de la conversión de tipos. |
$a === $b | Idéntico, Comparación estricta | true si $a es igual a $b, y son del mismo tipo de dato. |
$a != $b, $a <> $b | Diferente | true si $a no es igual a $b después de la conversión de tipos. |
$a !== $b | No idéntico | true si $a no es igual a $b, o si no son del mismo tipo. |
$a < $b | Menor que | true si $a es estrictamente menor que $b. |
$a > $b | Mayor que | true si $a es estrictamente mayor que $b. |
$a <= $b | Menor o igual que | true si $a es menor o igual que $b. |
$a >= $b | Mayor o igual que | true si $a es mayor o igual que $b. |
$a <=> $b | Nave espacial | Devuelve -1, 0 o 1 cuando $a es respectivamente menor, igual, o mayor que $b. PHP >= 7. |
$a ?? $b ?? $c | Fusión de null | El primer operando de izquierda a derecha que exista y no sea null. null si no hay valores definidos y no son null. PHP >= 7. |
Lógicos
| Ejemplo | Nombre | Resultado |
|---|---|---|
$a and $b, $a && $b | And (y) | true si tanto $a como $b son true. |
$a or $b, `$a | $b` | |
$a xor $b | Xor (o exclusivo) | true si $a o $b es true, pero no ambos. |
!$a | Not (no) | true si $a no es true. |
Asignación
| Ejemplo | Nombre | Resultado |
|---|---|---|
$a = $b | Asignación | Asigna a $a el valor de $b |
$a += $b | Asignación de la suma | Le suma a $a el valor de $b. Equivalente a $a = $a + $b |
$a -= $b | Asignación de la resta | Le resta a $a el valor de $b. Equivalente a $a = $a - $b |
$a *= $b | Asignación del producto | Asigna a $a el producto de $a por $b. Equivalente a $a = $a * $b |
$a /= $b | Asignación de la división | Asigna a $a el conciente de $a entre $b. Equivalente a $a = $a / $b |
$a %= $b | Asignación del resto | Asigna a $a el resto de dividir $a entre $b. Equivalente a $a = $a % $b |
$a .= $b | Concatenación | Concatena a $a la cadena $b. Equivalente a $a = $a . $b |
$a++ | Incremento | Incrementa $a en una unidad. Equivalente a $a = $a + 1 |
$a-- | Decremento | Decrementa $a en una unidad. Equivalente a $a = $a - 1 |
Prioridad de los operadores
En PHP, las expresiones se evalúan siguiendo un orden de prioridad:
- Primero se ejecutan las operaciones dentro de paréntesis, seguidas por la negación lógica (
!). - Luego se realizan las multiplicaciones y divisiones, seguidas por las sumas y restas.
- Después, se evalúan las comparaciones (
==,<,>, etc.) - Finalmente, los operadores lógicos (
&&,||). - La asignación (
=) es la última operación que se ejecuta.
Si hay operadores con la misma prioridad, como la suma y la resta, se evalúan de izquierda a derecha (asociatividad izquierda), mientras que la asignación es asociativa a la derecha.