Si vous écrivez simplement 08 et 09 (sans guillemets) ou tout autre numérique avec un 0 en tête, PHP pense que vous écrivez une valeur octale, et 08 et 09 sont des nombres octaux invalides.
http://www.php.net/manual/en/language.types.integer.php
Syntaxe
Les nombres entiers peuvent être spécifiés en décimal (base 10), en hexadécimal (base 16), octal (base 8) ou binaire (base 2), éventuellement précédés d'un signe (- ou +). (- ou +).
Les littéraux entiers binaires sont disponibles depuis PHP 5.4.0.
Pour utiliser notation octale précéder le numéro d'un 0 (zéro). Pour utiliser notation hexadécimale faire précéder le numéro d'un 0x . Pour utiliser binaire notation binaire faire précéder le numéro d'un 0b .
[...]
Attention : Avant PHP 7, si un chiffre invalide était donné dans un entier octal (i.e. 8 ou 9), le reste du nombre était ignoré. Depuis PHP 7, une erreur d'analyse est émise.