Comentarios:

  1. http://blog.tordek.com.ar/2008/05/en-defensa-de-php/

    Si no te gusta, dejá de hacer boludeces y usá ===.

    Enviado por Tordek el 04/07/2008 03:4:03 (#).

  2. Leí tu post hace bastante.

    Ayer hablando con un amigo llegamos a la conclusión de que si hay que hacer comparaciones de datos tipo: $_POST['campo'] == 0 o $row['campo'] == 0, para el caso de un registro extraído de DB, como en ambos casos lo que se está comparando son strings, lo correcto es utilizar $_POST['campo'] == '0' y $row['campo'] == '0'.

    Como ambos datos son de tipo string, de esta manera se evita lidiar con el casting de variables de PHP.

    Enviado por Juan el 05/07/2008 04:5:05 (#).

  3. Hola, discutimos esto hace un tiempo en mi blog (y se armó tole-tole). El link es: http://aurelianito.blogspot.com/2007/12/php-es-kk-un-ejemplo-prctico.html

    Enviado por Aureliano el 07/07/2008 08:7:41 (#).

  4. Al menos no están haciendo algo como if ($var = 0) { }. Sí, hubo un tiempo en que yo tuve que aggionarme. Mucho basic en mi infancia.

    Enviado por Federico el 19/07/2008 03:19:02 (#).

  5. Yo creo que el error es obviamente del programador...
    Por ejemplo, llevandolo a la lógica 0 es el valor nulo numérico... entonces analizando brevemente te pregunto... cuál es el valor numerico de '#$%&@?!!!'... te respondes solo no?
    Vos forzaste a que PHP lo evalúe... PHP solo te hizo caso y ciertamente es la respuesta correcta.

    Adios y no te la tires contra PHP... simplemente aprendé a programar en PHP. jojo

    Enviado por Lio el 31/07/2008 08:31:53 (#).

  6. @Leo: nada que no haya respondido en el comentario n° 2.

    Enviado por Juan el 31/07/2008 08:31:21 (#).

  7. Ah, no leí bien el comentario... jo

    De todas formas... en el manual habla de ese tipo de comparaciones BASTANTE claro, como para que se arme algún tipo de discusión al respecto:

    http://ar2.php.net/manual/es/language.operators.comparison.php

    "Si compara un entero con una cadena, la cadena es convertida a un número."

    http://ar2.php.net/manual/es/language.types.string.php#language.types.string.conversion

    "Cuando una cadena es evaluada en un ámbito numérico, el valor resultante y su tipo son determinados como sigue.

    El valor string será evaluado como un float si contiene cualquier caracter entre '.', 'e', o 'E'. De otra forma, será evaluado como un integer.

    El valor es dado por la porción inicial de la cadena. Si la cadena comienza con datos numéricos válidos, éstos serán el valor usado. De lo contrario, el valor será 0 (cero). Un dato numérico válido consiste de un signo opcional, seguido por uno o más dígitos (que pueden contener un punto decimal), seguidos por un exponente opcional. El exponente es una 'e' o 'E' seguida de uno o más dígitos."

    Bien, ahora si aporté algo diferente a tu comentario :P.

    Saludos.

    Enviado por Lio el 31/07/2008 09:31:37 (#).

  8. @Leo: Es que no se armó ningún tipo de discución, va, o yo no la seguí.

    Yo la corté en el segundo comentario ni bien reflexioné que lo que yo estaba haciendo estaba mal. Y lo comenté a propósito para retractarme al respecto.

    Enviado por Juan el 01/08/2008 12:1:11 (#).