Los operadores matemáticos, lógicos y de asignación son similares a otros lenguajes, como JAVA o C++.
Los elementos que difieren son los siguientes:
- Igual:
==
, dos valores son iguales después de la manipulación de tipos. - Idéntico:
===
, dos valores son iguales y tienen el mismo tipo. - Diferente:
!=
, dos valores no son iguales después de la manipulación de tipos. - Diferente:
<>
, dos valores no son iguales después de la manipulación de tipos. - No idéntico:
!==
, Dos variables no son iguales o del mismo tipo. - Concatenación de cadenas:
.
A partir de PHP7, se tiene los siguientes operadores
- Operador nulo de coalescencia:
??
, devuelve el primer valor no nulo. - Operador nave espacial:
<=>
, Devuelve -1, 0 o 1 cuando el primer parámetro es respectivamente menor, igual, o mayor que el segundo parámetro. Las comparaciones se realizan mediante la Tabla de Comparaciones.
<?php $a = 0; $b = false; // Retorna TRUE, tienen el mismo valor var_dump(0 == false); // Retorna FALSE, pues no son del mismo tipo var_dump(0 === false); // Retorna FALSE, pues tienen el mismo valor var_dump(0 != false); // Retorna TRUE, pues tienen el mismo valor pero distinto tipo var_dump(0 !== false); // $cadena tendrá como resultado: 'hola mundo' $cadena = 'hola ' . 'mundo'; var_dump($cadena); // Si $revisar no está inicializada entonces $valor tendrá valor de diez $valor = $revisar ?? 10; var_dump($valor); $uno = 1; $diez = 10; $cien = 100; // Retorna -1, $uno es menor que $diez var_dump($uno <=> $diez); // Retorno 0, son iguales var_dump($uno <=> $uno); // Retorna 1, $cien es mayor que $diez var_dump($cien <=> $diez);
Precedencia de operadores
Los operadores tienen orden de precedencia, lo cual indica en una expresión cuál de los operadores tendrá mayor importancia que otro. En el siguiente enlace se muestra el cuadro de precedencia de PHP.