Saltar al contenido principal

Operadores

Ariméticos

EjemploNombreResultado
-$aNegaciónOpuesto de $a.
$a + $bSumaSuma de $a y $b.
$a - $bRestaDiferencia de $a y $b.
$a * $bMultiplicaciónProducto de $a y $b.
$a / $bDivisiónCociente de $a y $b.
$a % $bMódulo / RestoResto de $a dividido por $b.
$a ** $bPotenciaResultado 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

EjemploNombreResultado
$a == $bIgualtrue si $a es igual a $b tras de la conversión de tipos.
$a === $bIdéntico, Comparación estrictatrue si $a es igual a $b, y son del mismo tipo de dato.
$a != $b, $a <> $bDiferentetrue si $a no es igual a $b después de la conversión de tipos.
$a !== $bNo idénticotrue si $a no es igual a $b, o si no son del mismo tipo.
$a < $bMenor quetrue si $a es estrictamente menor que $b.
$a > $bMayor quetrue si $a es estrictamente mayor que $b.
$a <= $bMenor o igual quetrue si $a es menor o igual que $b.
$a >= $bMayor o igual quetrue si $a es mayor o igual que $b.
$a <=> $bNave espacialDevuelve -1, 0 o 1 cuando $a es respectivamente menor, igual, o mayor que $b. PHP >= 7.
$a ?? $b ?? $cFusión de nullEl 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

EjemploNombreResultado
$a and $b, $a && $bAnd (y)true si tanto $a como $b son true.
$a or $b, `$a$b`
$a xor $bXor (o exclusivo)true si $a o $b es true, pero no ambos.
!$aNot (no)true si $a no es true.

Asignación

EjemploNombreResultado
$a = $bAsignaciónAsigna a $a el valor de $b
$a += $bAsignación de la sumaLe suma a $a el valor de $b. Equivalente a $a = $a + $b
$a -= $bAsignación de la restaLe resta a $a el valor de $b. Equivalente a $a = $a - $b
$a *= $bAsignación del productoAsigna a $a el producto de $a por $b. Equivalente a $a = $a * $b
$a /= $bAsignación de la divisiónAsigna a $a el conciente de $a entre $b. Equivalente a $a = $a / $b
$a %= $bAsignación del restoAsigna a $a el resto de dividir $a entre $b. Equivalente a $a = $a % $b
$a .= $bConcatenaciónConcatena a $a la cadena $b. Equivalente a $a = $a . $b
$a++IncrementoIncrementa $a en una unidad. Equivalente a $a = $a + 1
$a--DecrementoDecrementa $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.