За последние 24 часа нас посетили 17744 программиста и 1714 роботов. Сейчас ищут 948 программистов ...

Баг в php

Тема в разделе "Прочие вопросы по PHP", создана пользователем fade, 9 апр 2015.

  1. fade

    fade Новичок

    С нами с:
    9 апр 2015
    Сообщения:
    2
    Симпатии:
    0
    Обнаружил интересный баг в php , просьба не спрашивать как я его нашел, но всетаки интересно, почему именно так? Чем отличаются цифры 8 и 9 от других?

    Код (Text):
    1. $a = array();
    2.  
    3. $a[4][01] = true;
    4. $a[4][02] = true;
    5. $a[4][03] = true;
    6. $a[4][04] = true;
    7. $a[4][05] = true;
    8. $a[4][06] = true;
    9. $a[4][07] = true;
    10. $a[4][08] = true;
    11. $a[4][09] = true;
    12.  
    13. var_dump($a);
    p.s.
    Результат работы:

    Код (Text):
    1. array(1) {
    2.   [4]=>
    3.   array(8) {
    4.     [1]=>
    5.     bool(true)
    6.     [2]=>
    7.     bool(true)
    8.     [3]=>
    9.     bool(true)
    10.     [4]=>
    11.     bool(true)
    12.     [5]=>
    13.     bool(true)
    14.     [6]=>
    15.     bool(true)
    16.     [7]=>
    17.     bool(true)
    18.     [0]=>
    19.     bool(true)
    20.   }
    21. }
     
  2. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    Личное незнание PHP, не говорит о том, что поведение непонятное для себя есть баг.
    0 перед числом означает восьмеричку, со всеми вытекающими.

    Код (PHP):
    1. echo 010; 
     
  3. fade

    fade Новичок

    С нами с:
    9 апр 2015
    Сообщения:
    2
    Симпатии:
    0
    Теперь ясно, спасибо. вопрос#.