Hice algunas pruebas con cadenas usando '=='. Sé que comparar cadena '==' no es el camino, pero hay un comportamiento extraño que quiero resolver.Comparación de cadenas PHP usando '=='
Estoy siguiendo la documentación de PHP en esta página: http://www.php.net/manual/en/language.operators.comparison.php. Esta es la prueba que hice
<?php
var_dump("100" == "1e2"); //outputs boolean true
var_dump((int) "100"); //int 100
var_dump((int) "1e2"); //int 1
?>
La documentación dice cuando comparamos las cadenas con números, PHP primero convierte la cadena de números, pero cuando convierto '100' y '1e2' a los números que no son iguales. La comparación debería dar como resultado booleano falso.
¿Por qué es este comportamiento extraño? ¡Gracias!
Por cierto, esta es la razón por la que generalmente es mejor usar '===' en lugar de '==', ¡ya que el resultado es mucho más predecible! –