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.