Ver Mensaje Individual
  #9 (permalink)  
Antiguo 02/07/2014, 10:26
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: mysql devuelve un true duda

Deberías mirar el link del manual que te están pasando...
Entendamos esto:
Cita:
-1 es conisderado TRUE, como cualquier otro valor numérico difernete de cero (sea negativo o positivo).
En PHP, a diferencia de otroso lenguajes, sólo cero (0) es FALSE Adicionalmente sifnifica que si lo que recibes es una cadena de texto, y esta no contienen un cero ('0'), entonces también será un FALSE, aunque esta cadena tenga un valor NULL.
Tienes que ponerte en el contexto del PHP y olvidarte de lo que encuentras en otros lenguajes. Sonas reglas de PHP las que mandan.

Manual de referencia:
Cita:
Cuando se realizan conversiones a boolean, los siguientes valores son considerados FALSE:

el boolean FALSE mismo
el integer 0 (cero)
el float 0.0 (cero)
el valor string vacío, y el string "0"
un array con cero elementos
un object con cero variables miembro (sólo en PHP 4)
el tipo especial NULL (incluyendo variables no definidas)
objetos SimpleXML creados desde etiquetas vacías
Nota: Cuando asignas una cadena vacía, y lo validas en un IF, evalua si la variable no es NULL, por lo que el resultado en un IF() es TRUE:

Código PHP:
Ver original
  1. $var = '';
  2. if($var)
  3. {...}
Esto puede generar algunas confusiones.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 02/07/2014 a las 10:40