PHP WTF String == 0

Publicado el 03 febrero 2016 por Jocual

En la sección de hoy veremos el PHP WTF que me encontré ayer mismo:

Pues bien el código con el que estaba trabajando era similar al siguiente:

<?php

$status = 'STATUS';

$validStatus = [0];

var_dump(in_array($status, $validStatus));

Lo lógico es que el elemento no se encuentre, pero, ¿que pasa? Si, el resultado es ‘true’ sorprendentemente. Ya que si hacemos lo siguiente:

<?php

$status= 'STATUS';

var_dump($status == 0);

Si, el resultado es ‘true’, un string cualquiera con caracteres es igual a 0, ¿explicación? muy sencillo, vamos a la documentación oficial de PHP:

Tabla igualdades PHP

http://php.net/manual/en/types.comparisons.php