Ver Mensaje Individual
  #15 (permalink)  
Antiguo 30/07/2013, 12:13
Avatar de dashtrash
dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años, 7 meses
Puntos: 270
Respuesta: Detectar si un usuario se conecta desde un movil

Cita:
Iniciado por guardarmicorreo Ver Mensaje
Código PHP:
Ver original
  1. //aquí y en este momento cero es un valor
  2.  
  3. $a=0;
  4.  
  5. //en PHP dentro de la condición 'if' '0' es igual a 'null' y "", es decir, lo interpreta como que no hay valor, lo puedes comprobar así
  6.  
  7. $a=0;
  8.  
  9. if ( $a== "" ) //también if ( $a== null )
  10. {
  11.      echo $a;
  12. }
  13.  
  14. //imprimirá 0
"Aqui y en este momento 0 es un valor".

En un post anterior decías:
Cita:
tienes razón, no se imprime porque 0, "" y null no son valores.
No.cero es un valor, aqui, en este momento, mañana y pasado.Y "" es un valor.Y la cadena "0" es un valor.Sólo admitiría una discusión cuasi filosófica de null.
Por supuesto, 3 líneas más abajo de tu código, 0 sigue siendo un valor.

Pero, varios post más tarde, la frase
Cita:
pero simplemente con la variable lo que va a pasar es que independientemente de su valor si es declarada, si existe, entonces va a suceder lo que hay debajo del if.
Sigue sin ser cierta...vamos, no sé cómo estamos discutiendo esto...cae por su peso...

Cita:
!== me dirá que 0 no es idéntico a false porque no son del mismo tipo pero son iguales después de la conversión a tipos que 'if' somete al número 0.
Seguro que lo que es "sometido" a conversión de tipos es 0?..Yo no lo tendría tan claro...Y si php, tal y como hace C, considerse cierto todo aquello cuyo cast a *entero* no sea cero?Incluidas las constantes TRUE y FALSE..?...Porque eso es lo que hace PHP....

Cómo funciona if, lo tengo más o menos claro..El asunto es que, al OP se le estaba diciendo algo que *no* es cierto. No hay ninguna diferencia entre el código con y sin "!=false".


Cita:
en cambio en el segundo if estás diciendo que "si $a es igual a false..." y solo a false, discriminas el resto de valores y solo aceptas false.

saludos! :)
...claro...y si quieres cualquier cosa que no sea false, y haces if($a) , es perfectamente correcto...
No entiendo dónde quieres llegar con tu post.