16/01/2011, 08:20
|
| Me alejo de Omelas | | Fecha de Ingreso: mayo-2004 Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 6 meses Puntos: 834 | |
Respuesta: Juego: "¿Dónde está el error?" A ver si me animo a participar: Por qué?
Porque en una comparación de ese tipo entre un entero y un string php convierte (o intenta convertir) el tipo del string (internamente, es decir, sólo durante la comparación) en entero. La conversión la realiza de una manera parecida a la que en javascript lo hace parseInt, es decir, si empieza con un número, asumirá ese número; si empieza con letra será 0 (en javascript sería NaN). Cómo solucionarlo?
Hay otras maneras redundantes, pero la más sencilla es hacer una comparación de identidad, usando el operador === en lugar de == |