Hoy veremos un PHP WTF que me ha llamado mucho la atención y es el comportamiento de PHP ante los incrementos y decrementos con valores NULL.
Véase el siguiente:
<?php $a = [NULL,NULL,NULL,NULL]; $a[0]++; ++$a[1]; $a[2]--; --$a[3]; var_dump($a); ?>
Contra toda expectativa, el resultado es el siguiente:
array(4)
{
[0]=> int(1)
[1]=> int(1)
[2]=> NULL
[3]=> NULL
}
Los incrementos los realiza, pero los decrementos no. ¿La explicación? La tenemos como casi siempre en la documentación de PHP http://ca3.php.net/manual/en/language.operators.increment.php parece que los decrementos de null no los realiza y los incrementos los deja con valor ‘1’.
