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

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    function sorti()
        {
        	if($_GET['where']=='desc'?$where='asc':$where='desc');
        	return 'where='.$where;
        }

    Запостил: GoodTalkBot, 19 Апреля 2011

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

    • ...&where=ASC'; DROP DATABASE users;
      Ответить
    • |sorti()
      Новый Sorti отмоет Вашу посуду, а заодно и SQL-запросы - теперь яблочный!!!1
      Ответить
    • Кстати, при чем там if?:)
      О почему в sotriровке where
      Ответить
    • А в PHP можно if без "тела"? И даже предупреждения на будет? И условие даже вычислится, при том, что ни на что не влияет?
      Ответить
      • в похапе можно всё!!1
        Ответить
      • Что значит "без тела"? ; - вполне себе оператор, разве что он пустой. И кстати, не только PHP такое разрешает. Можете проверить в том же Си.
        Ответить
        • А с каких это пор Си стал образцово-показательным языком в плане правил синтаксиса?
          "Пустое" - в том смысле, что if нужен для того, чтобы создать ветвление, если он его не создает - то это ошибка или предупреждение, потому, что вы явно делаете что-то не так.
          (if t)
          
          debugger invoked on a SB-KERNEL::ARG-COUNT-ERROR in thread #<THREAD
                                                                       "initial thread" RUNNING
                                                                       {1002959071}>:
            error while parsing arguments to DESTRUCTURING-BIND:
              invalid number of elements in
                (T)
              to satisfy lambda list
                (SB-IMPL::TEST SB-IMPL::THEN &OPTIONAL SB-IMPL::ELSE):
              between 2 and 3 expected, but 1 found

          вот вам, для примера :)
          Ответить
        • О, и кстати... точка с запятой - не оператор :) ну ни в одном из мне извесных языков, в лучшем случае - ключевое слово. Иначе возврат каретки - тоже оператор, символ начала и конца коментариев - тоже оператор и т.д. Но, в изначальном значении слова "оператор", имелась в виду функция (в математическом смысле этого слова), просто записаная как инфиксная / префиксная / постфиксная без каких-то специальных символов для ограничения аргументов т.как для любой такой функции количестов аргументов было бы всегда извесно. Кстати, авторы статьи про операторы в Википедии тоже думают, что в Си ; - не оператор :) http://en.wikipedia.org/wiki/Operator_(programming)
          Ответить
          • Обычно утверждается, что точка с запятой - ненужный сахар. И что, соответственно, можно легко и приятно писать всё без неё.
            Да, соглашусь, это не оператор.
            Ответить
            • > легко и приятно писать всё без неё.
              Змеелюбы с вами согласятся. =)
              Ответить
    • Sorti(r)
      Ответить
      • ® же.
        За © в виде (c) ругает лично Артёмий Татьяныч.
        Ответить
        • ...а за "Артёмий" он бы вообще отформатировал...
          Ответить
    • жду функцию rovka()
      Ответить
      • Досортировывает недосортированное функцией sotri
        Ответить
      • > rovka()
        ровняет входные данные?
        Ответить

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