Operadores de Comparación

Los operadores de comparación, como su nombre indica, le permiten comparar dos valores. Puede que también se encuentre interesado en consultar las tablas de comparación de tipos, ya que éstas muestran ejemplos de varios tipos de comparaciones relacionadas con tipos.

Tabla 15-4. Operadores de Comparación

EjemploNombreResultado
$a == $bIgualTRUE si $a es igual a $b.
$a === $bIdéntico TRUE si $a es igual a $b, y son del mismo tipo. (A partir de PHP 4)
$a != $bDiferenteTRUE si $a no es igual a $b.
$a <> $bDiferenteTRUE si $a no es igual a $b.
$a !== $bNo idénticos TRUE si $a no es igual a $b, o si no son del mismo tipo. (A partir de PHP 4)
$a < $bMenor queTRUE si $a es escrictamente 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.

Si compara un entero con una cadena, la cadena es convertida a un número. Si compara dos cadenas numéricas, ellas son comparadas como enteros. Estas reglas también se aplican a la sentencia switch.

<?php
var_dump
(0 == "a"); // 0 == 0 -> true
var_dump("1" == "01"); // 1 == 1 -> true

switch ("a") {
case
0:
    echo
"0";
    break;
case
"a": // nunca se ejecuta ya que "a" ya ha coincidido con 0
    
echo "a";
    break;
}
?>

Otro operador condicional es el operador "?:" (o ternario).

<?php
// Ejemplo de uso de: el Operador Ternario
$accion = (empty($_POST['accion'])) ? 'predeterminada' : $_POST['accion'];

// La sentencia anterior es identica a este bloque if/else
if (empty($_POST['accion'])) {
    
$accion = 'predeterminada';
} else {
    
$accion = $_POST['accion'];
}
?>

La expresión (expr1) ? (expr2) : (expr3) evalúa a expr2 si expr1 evalúa a TRUE, y expr3 si expr1 evalúa a FALSE.

Vea también strcasecmp(), strcmp(), Operadores de matriz, y la sección del manual sobre Tipos.