switch significa que operator operadores not aritmeticos php operators

significa - Diferencia entre operadores "no iguales"<> y!=En PHP



que significa-> en php (6)

Como la respuesta aceptada señala la implementación es idéntica, sin embargo, hay una sutil diferencia entre ellos en la documentación ...

Según esta página, el operador <> tiene una precedencia ligeramente más alta que != .

No estoy seguro de si esto es un error en la implementación de Zend, un error en la documentación, o simplemente uno de esos casos en que PHP decide ignorar las reglas de precedencia.

Actualización: la documentación se actualiza y ya no hay ninguna diferencia entre <> y != .

En PHP, ¿hay alguna diferencia entre los operadores != Y <> ?

En el manual , dice:

$a != $b Not equal TRUE if $a is not equal to $b after type juggling. $a <> $b Not equal TRUE if $a is not equal to $b after type juggling.

Supongo que no hay grandes diferencias, pero tengo curiosidad.


Como todos dicen que son idénticos, uno de una rama de idioma C-style / shell, uno de algunos otros incluyendo MySQL que estaba altamente integrado en el pasado.

<> debería considerarse azúcar sintáctico, un sinónimo de != que es el estilo PHP apropiado para no iguales.

¡Más enfatizado por la función de identidad de triple personaje !== .


Ellos son lo mismo. Sin embargo, también hay operadores !== y === que prueban la igualdad exacta, definida por valor y tipo.


En la implementación principal de Zend, no hay ninguna diferencia. Puede obtenerlo de la descripción de Flex del scanner lenguaje PHP:

<ST_IN_SCRIPTING>"!="|"<>" { return T_IS_NOT_EQUAL; }

Donde T_IS_NOT_EQUAL es el token generado. Por lo tanto, el parser Bison no distingue entre <> y != Tokens y los trata por igual:

%nonassoc T_IS_EQUAL T_IS_NOT_EQUAL T_IS_IDENTICAL T_IS_NOT_IDENTICAL %nonassoc ''<'' T_IS_SMALLER_OR_EQUAL ''>'' T_IS_GREATER_OR_EQUAL



<> significa ya sea más grande o más pequeño. != significa no igual. Básicamente significan lo mismo.