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

    +166

    1. 1
    2. 2
    3. 3
    4. 4
    function assign($params)
    {              
            return $params[0];
    }

    Функция с одной коммерческой cms. Можно же обойтись и без функции. Да и желательно сделать проверку на существование переменной.

    Запостил: codosub, 23 Февраля 2011

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

    • КО в задумчивости: assign ничего не присваивает
      Ответить
      • Требуем кода, где эта функция применяется... А то тут вообще ничего не ясно...
        Ответить
    • current()
      Ответить
    • Это функция присваивания массиву другого типа переменной путем возвращения первого элемента массива.
      Использование:
      $array = array(1, 2, 3);
      $array = assign($array);
      echo $array; // выведет 1

      Ваш догадливый Кэп.
      Ответить
      • Не, тут что-то интереснее.... может для колбэков используется... Ну знает же человек про индексы, зачем лес городить?
        Ответить
    • А потом захотят там веруть $params[1]. И бегать по всему коду? Вообще нормальная заглушка, разве что нумерация параметров это все же сильно.
      Ответить
    • > Функция с одной коммерческой cms
      Сам-то с области что-ли?
      Ответить
    • может, для такого случая?
      function f1() {
          // bla-bla-bla...
          return array(/* какие-то элементы */);
      }
      
      function assign($params) {              
              return $params[0];
      }
      
      $a = assign(f1()); // как бы имплементация $a = f1()[0]; ???
      Ответить
      • Ну тогда еще логично было бы еще передавать в функцию var, чтобы добиться универсальности.
        Ответить
        • я специально оставил свободу для творчества, чтобы каждый желающий смог придумать свой собственный "оптимизированный" assign, типа
          function assign($params, $key=0) {
                  return $params[$key];
          }
          Ответить
          • Во, вот это ништяк, отличный говнокод.
            Ответить
          • тогда уж
            function assignUniqueKeysAnArrayAndReturnTheSpecifiedValue ( &$array, $key=0, $value=false ) {
            	return ($array[$key])? $array[$key] : $value;
            }
            Ответить
            • а, isset забыл...
              Ответить
            • зачем такое длинное название? :)
              Ответить
              • интересно, а какова максимальная длина названия функций или переменных в случае php
                Ответить
                • сделал тест, который показал, что длина имени ограничивается только памятью.

                  число - длина имени переменной.

                  512 - OK
                  1024 - OK
                  2048 - OK
                  4096 - OK
                  8192 - OK
                  16384 - OK
                  32768 - OK
                  65536 - OK
                  131072 - OK
                  262144 - OK
                  524288 - OK
                  1048576 - OK
                  2097152 - OK
                  4194304 - OK
                  8388608 - OK
                  16777216 - OK
                  33554432 - OK

                  Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 67108900 bytes) in C:\Web\test.test\test.php on line 7
                  Ответить
                  • Кстати, расчеты показывают, что желающим использовать в пхп действительно длинные идентификаторы следует запастись монитором шириной 100км. А если еще подкинуть пхп побольше памяти, то для комфортной работы монитор придется выводить на орбиту...
                    Ответить
                    • > монитор придется выводить на орбиту
                      PHP в небе? астрономы негодуют!
                      Ответить
      • Да, что-то в этом есть...
        Ответить
    • Это заглушка скорее всего. В расчете на то, что формат params может измениться.
      Ответить

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