¿Cuál es la diferencia entre =
, ==
y ===
?
Creo que usar un signo igual es declarar una variable, mientras que dos signos iguales son para una condición de comparación y, por último, tres signos iguales son para comparar valores de variables declaradas.
php
comparison
operators
fresa
fuente
fuente
=
javascript. Eso no solo se aplica a PHP, sino también a otros lenguajes.Respuestas:
Tiene
=
el operador de asignación ,==
el operador de comparación 'igual' y===
el operador de comparación 'idéntico' .Para obtener más información sobre la necesidad de
==
y===
, y las situaciones de utilizar cada uno, vistazo a la documentación .fuente
===
con objetos le dice si son el mismo objeto, no si tienen el mismo contenido.=
es el operador de asignación==
es el operador de comparación (verifica si dos variables tienen valores iguales)===
es el operador de comparación idéntico (verifica si dos variables tienen valores iguales y son del mismo tipo).fuente
= operador de asignación
== comprueba si dos variables tienen el mismo valor
=== comprueba si dos variables tienen el mismo valor Y si sus tipos son iguales
fuente
El operador = asigna el valor a una variable $ seis = 6; el valor 6 se asigna a la variable $ seis
== operador verifica si el valor de ambas variables es igual y se usa principalmente en condiciones como declaraciones if
=== operador similar a == (verifique si el valor es igual) y también verifique si ambos son del mismo tipo de datos
// aquí $ a es de tipo int mientras que $ b es de tipo string. Así que aquí la salida
fuente
Para los usuarios avanzados de PHP, saber la diferencia entre
==
y===
y preguntarse "¿es más rápido comparar con==
o===
cuando estoy seguro de que ambos operandos son del mismo tipo?"La respuesta breve y general es: no hay aumento de rendimiento en el uso
===
en estos casos, por lo que probablemente debería usar==
.Para los interesados en compararlo ellos mismos, pueden usar el siguiente código que escribí ad-hoc e intentar diferentes valores para
$a
y$b
:NOTA: La comparación es válida solo cuando cada "PRIMERA PRUEBA" está muy cerca de su "SEGUNDA PRUEBA". Si son significativamente diferentes, significa que el procesador estaba ocupado haciendo otra cosa mientras ejecutaba las comparaciones y, por lo tanto, los resultados no son confiables y el punto de referencia debería ejecutarse nuevamente.
fuente
==
o===
ser la causa de su problema de rendimiento. OMI: Es mejor ser estricto (===
) a menos que explícitamente quiera ser flojo (==
) acerca de sus comparaciones. El número de casos extremos extraños, es decir,"5 is not a number" == 5
puede conducir a errores extravagantes.===
Nunca sufre de este problema.===
por razones de rendimiento, están equivocados. Por lo tanto, los programadores son libres de elegir===
o se==
basan en razones lógicas pero no en razones de rendimiento: hay diferentes casos para preferir uno u otro y el rendimiento no debe tenerse en cuenta en absoluto.