У меня есть массив в течение нескольких месяцев
$months[01] = 'January'; $months[02] = 'February'; $months[03] = 'March'; $months[04] = 'April'; $months[05] = 'May'; $months[06] = 'June'; $months[07] = 'July'; $months[08] = 'August'; $months[09] = 'September'; $months[10] = 'October'; $months[11] = 'November'; $months[12] = 'December'; 
  Теперь массив не выводит правильное значение для ключа 07 и 08 . 
  Попробуйте сделать print_r($months) вы не получите никакого ключевого значения August и индекс нулевого ключа за September . 
Хотя я могу решить проблему, удалив ведущий ноль, все же мне хотелось бы узнать причину того же.
Даже редактор PHP видит какую-то проблему, но не может сказать, в чем проблема.
благодаря
Предполагая, что 0 до числа означает, что PHP анализирует его как восьмеричное значение таким же образом, что добавление 0x заставляет его анализироваться как шестнадцатеричное значение. Удалите нуль, и он будет работать нормально.
 echo 07; // prints 7 echo 010; // prints 8 
Это чаще всего используется при указании разрешений unix:
 chmod("myfile", 0660); 
Кроме того, это редко то, что вы хотели бы сделать.
Это описано в Руководстве по PHP .
Важное значение имеет способ формирования целочисленного литерала .
См. Структуру десятичных литералов? Обратите внимание, что предыдущий ноль не является частью этого шаблона?
Либо вы должны удалить нули, либо обрабатывать ключи массива в виде строк
 $months['01'] = 'January'; $months['02'] = 'February'; // etc... 
Как правило, помещание ведущего 0 в число сообщает компилятору, что вы указываете восьмеричное число (база 8, а не база 10).
В восьмеричных 8 и 9 не существует (8 – 010, 9 равно 011), поэтому вы путаете php.
Если вам действительно нужен ноль, вы можете использовать строки для своих индексов
PHP будет обрабатывать числа с ведущим 0 как восьмеричные числа, либо отбрасывать ведущее 0, либо вводить ключевые значения в кавычки.
  Я просто понял это после драгоценных минут отладки и стука в стол. 
  Проблема в том, что PHP не вызывает ошибки или даже предупреждения о том, что он исказил восьмеричное целое число.  Он просто игнорирует часть от ошибки до конца литерала. 
  Черт. 
  PS: Кто использует восьмеричные цифры?  никогда не слышал, чтобы кто-то использовал их по уважительной причине. 
  Шестнадцатеричный большой, но восьмеричный?  черт. 
  Даже для разрешения я обычно делаю chmod ugo+rwx более простым.