|
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
Ejemplo | Nombre | Resultado |
---|---|---|
$a == $b | Igual | TRUE si $a es igual a $b. |
$a === $b | Idéntico | TRUE si $a es igual a $b, y son del mismo tipo. (A partir de PHP 4) |
$a != $b | Diferente | TRUE si $a no es igual a $b. |
$a <> $b | Diferente | TRUE si $a no es igual a $b. |
$a !== $b | No idénticos | TRUE si $a no es igual a $b, o si no son del mismo tipo. (A partir de PHP 4) |
$a < $b | Menor que | TRUE si $a es escrictamente 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. |
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 |
Si los tipos de los operandos difieren, la comparación se realiza de acuerdo con la siguient tabla (en orden).
Tabla 15-5. Comparación con Diferentes Tipos
Tipo del Operando 1 | Tipo del Operando 2 | Resultado |
---|---|---|
null o string | string | Convertir NULL a "", comparación numérica o de léxico |
bool o null | cualquiera | Convertir a bool, FALSE < TRUE |
object | object | Las clases internas pueden definir su propia comparación, clases diferentes son incomparables, la misma clase - comparan propiedades en la misma forma que las matrices (PHP 4), PHP 5 tiene su propia explicación |
string, resource o number | string, resource o number | Traducir las cadenas y recursos a números, matemática usual |
array | array | Una matriz con menos elementos es menor, si una clave del operando 1 no se encuentra en el operando 2 entonces las matrices son incomparables, de otra forma - comparar valor por valor (vea el siguiente ejemplo) |
array | cualquiera | array es siempre mayor |
object | cualquiera | object es siempre mayor |
Vea también strcasecmp(), strcmp(), Operadores de matriz, y la sección del manual sobre Tipos.
Otro operador condicional es el operador "?:" (o ternario).
Ejemplo 15-3. Asignación de un valor predeterminado
|
Nota: Por favor note que el operador ternario es una sentencia, y que no evalúa a una variable, sino al resultado de una sentencia. Es importante saber esto si se desea devolver una variable por referencia. La sentencia return $var == 42 ? $a : $b; en una función con retorno-por-referencia no funcionará por lo que se ha mencionado y una advertencia es generada en versiones posteriores de PHP.
Hosting by: hurra.com
Generated: 2007-01-26 18:01:09