1. PHP / Говнокод #17583

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    $var = null;
    
    // Не вызовет: "Notice: Undefined Index 0"
    var_dump($var[0][1][2][3]['route']); // NULL

    PHP не показывает Notic'ы если переменная или значение является NULL'ом при попытки получить доступ к элементам массива (заметил это когда функция могла возвратить null или массив). Нашел это интересным.

    Запостил: volter9, 05 Февраля 2015

    Комментарии (13) RSS

    • P.S.: тестировал на CLI, но также работает и в браузере
      Ответить
    • А в 5.3 еще можно было вот так :3
      $var = 'ПХП - это быстро, удобно, а главное ...';
      var_dump(isset($var['предсказуемо ^-^'])); // true
      Ответить
      • Круто! :)

        А какой будет результат без isset()?
        Ответить
      • Любопытство взяло вверх, решил попробовать, интересно. При попытки получить доступ к элементам массива (если строка состоит не из латиницы) возвращается строка "?":

        $var = 'абв';
        echo "А вам нравиться PHP, %username%{$var[0]}"; // А вам нравиться PHP, %username%?


        Или так:

        $var = 'абв';
        $statement = $db->query("SELECT * FROM test WHERE id = {$var[0]}");
        // ...


        Как я понял строка в Вашем примере 'предсказуемо ^-^' конвертируется в int(0).
        Знаю что это не неожиданное, но все равно прикольно :)
        Ответить
    • ага http://govnokod.ru/16666
      Ответить
      • Жалко что не заметил. К сожалению, автору ссылки выше не повезло с номером.
        Ответить
    • Нет, главное к подружкам своим, таким же потаскушкам, она меня не ревновала, к проституткам каких иногда приводил прямо домой, в те дни, когда она была «занята» – тоже, а тут, к матери родной ревнует!
      Ответить

    Добавить комментарий