2008-10-30 25 views
21

¿Qué hace el siguiente código? Un enlace a algo en el manual de PHP también sería bueno. !Operador de PHP <>

if ($_SERVER['SERVER_PORT'] <> 443) { 
    doSomething(); 
} 

Respuesta

24

Igual = "es igual a"

false <> true // operator will evaluate expression as true 
false != true // operator will evaluate expression as true 

Aquí es alguna referencia: PHP Comparison Operators

+1

¡Golpeado por 2 segundos! –

6

Es otra forma de decir "no igual a" (el operador !=). Lo considero el operador "menor que o mayor que" que realmente significa "no igual a".

+0

Es equivalente a decir: Menos que Y mayor que. –

+2

@RobFarr No lo creo. Nada puede ser menor que y mayor que. – amhokies

2

$_SERVER['SERVER_PORT'] obtiene el puerto utilizado por el servidor web para atender solicitudes HTTP. $_SERVER['SERVER_PORT'] <> 443 comprueba si el puerto no es igual a 443 (el puerto HTTPS predeterminado) y si no, invoca doSomething()

2

Nota que <> comporta como != incluso cuando < y > no son operadores de comparación obvias (por ejemplo $str1 <> $str2).

+0

¿Por qué < and > no son "operadores de comparación obvios" para cadenas? – PhiLho

+0

¿Qué diablos comparan? Por lo que puedo decir, comparan el "valor" (alfabéticamente, a eyelidlessness

+2

@PhiLho Las cadenas a menudo no se consideran inferiores o superiores entre sí, a menos que compares la longitud de la cadena. Aquí es donde surge la mayor parte de la confusión. – orokusaki

2

Aunque PHP se basa principalmente en la sintaxis de estilo C, esta es una de las cosas raras que proviene del mundo de la sintaxis de estilo BÁSICO.

No hace falta decir que usaría != y sería coherente con él, ya que <> en realidad nunca se usa.