Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/08/2012, 12:30
BaEEz_
 
Fecha de Ingreso: abril-2010
Mensajes: 19
Antigüedad: 14 años
Puntos: 0
¿Por que me da verdaero un Int = String en PHP? (solucionado)

Me da mucha curiosidad, no entiendo por que me da True esta condición, alguien me puede explicar ¿?


Código PHP:
Ver original
  1. <?PHP
  2.  
  3. if( 0 == "hola_mundo"){
  4. echo "VERDADERO";
  5. }else{
  6. echo "FALSO";
  7. }
  8. //Retorna "VERDADERO"
  9. ?>


Si yo cambio el operador por INT === STRING ya me devuelve FALSO:

Código PHP:
Ver original
  1. <?PHP
  2.  
  3. if( 0 === "hola_mundo"){
  4. echo "VERDADERO";
  5. }else{
  6. echo "FALSO";
  7. }
  8. //Retorna "FALSO"
  9. ?>

------------------------------------------------------------------------------
SOLUCIONADO, ni me dio tiempo de publicar este tema y encontre la solución pero ya que estoy aqui me respondo a mi mismo

En PHP.NET encontré la solución:
http://www.php.net/manual/es/language.operators.comparison.php

Código PHP:
var_dump(== "a"); // 0 == 0 -> true 
TRUE si $a es igual a $b después de la manipulación de tipos, entonces al hacer una comparación entre un INT y un STRING , convierte el string en un entero "0"

Última edición por BaEEz_; 28/08/2012 a las 12:39