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

    +147

    1. 1
    2. 2
    if(!empty(_SESSION['order']['contact']['user_id']))
        $user_id = preg_replace('/\D|\s/', '', $_SESSION['order']['contact']['user_id']);

    Радует знание регулярных выражений =)

    Запостил: mitallast, 24 Июня 2011

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

    • ...но печалят очепятки =(
      Ответить
    • ай-яй-яй, _SESSION без "доллара" баксов не принесет...
      Ответить
    • нескомпилиться
      Ответить
    • '/\D|\s/' вот так вот можно побороть буковки, если не знаешь ничего о локализации.
      Попытка вытравить буквы и пробелы при ненастроеной локали.

      Отсутствие $ у _SESSION кончится ошибкой синтаксического анализатора.
      Ошибка будет на первой же квадратной скобке после _SESSION, поскольку выражение _SESSION будет принято за криворукое использование необъявленной константы _SESSION, которая позже могла бы появится со значением = null. А вот квадратная скобка так вот без идентификатора - ['order'] никак не объяснима.
      Интересно, что анализатор ничего не скажет про отсутствие какой-либо операции после "константы _SESSION", ибо он сначала ищет идентификаторы, а затем уже составляет лексемы.
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить

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