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
<>
es exactamente lo mismo que el operador !=
ya que ambos se T_IS_NOT_EQUAL
como token T_IS_NOT_EQUAL
.
<>
significa ya sea más grande o más pequeño. !=
significa no igual. Básicamente significan lo mismo.