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

    +62

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $ar = array(5050,5370,6285,48100,6730,6730,4700,6500,3450,7260,2500,1370,4288,9620);
    	
    $cpr = 0;
    	
    foreach($ar as $k=>$v)
    {
    	$cpr += $v;
    }
    
    echo $cpr;

    Нестандартность мышления в действии

    Запостил: domaster, 20 Июля 2012

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

    • А что за магические числа? Вроде закономерности нет, и не гуглится.
      Ответить
    • Форичем, фу. Только for, только хардкор.
      Ответить
      • А как же PHPLinq ?!
        Ответить
        • Упаси нас бже! А там будет AsParallel?
          Ответить
          • Какой же linq без asParallel()? Ну правда многопоточности пока нет... но кто мешает писать asParallel() в нужных местах, вдруг лет через 20 ее добавят...
            Ответить
        • Блядь, мне от одного названия смешно.
          Круче только delphi 4 PHP. Хотя не PHPLinq - это идеальный говнопродукт.
          Ответить
    • показать все, что скрыто
      for ($i = 0; $i < count($ar); $i++) {
      //...
      }

      Ну или так:
      while ($i < count($ar)) {
      $i++;
      //...
      }

      Но никаких foreach!
      Ответить
      • echo array_sum($ar);
        Ответить
      • > Но никаких foreach!
        А чем плох foreach ($ar as $v) $cpr += $v ?
        Ну кроме, конечно, того что цикл тут не нужен ни в каком виде.

        P.S. Кстати а вы уверены, что стоит вычислять count($ar) на каждой итерации цикла?
        Ответить
        • Тег <сарказм> автоматом не вставляется в посты?)
          Ответить
          • > <сарказм>
            Тогда сорри, я думал вы серьезно ;)
            Ответить
          • Да, последнее время модуль телепатии на сайте глючит.
            Ответить
      • http://ideone.com/BBUmm
        Слив засчитан или есть вопросы?
        Ответить
        • интересно, почему while регулярно меньше аналогичного for
          Ответить
          • В нем меньше букв, поэтому оно быстрее парсится.

            А если серьезно - хз. Только автору PHP известно, как абсолютно одинаковые алгоритмы заставить работать с разной скоростью...

            Возможно какие-то лишние вызовы в движке PHP, связанные с вычислением двух блоков $s+=$a[$i] и $i++ по отдельности, в то время как в while они вычисляются внутри одного блока.
            Ответить
            • Подрастешь, узнаешь - алгоритмы разные.
              Подсказка: один из них делает копию массива для перебора
              Ответить
              • Тему не читай - хуйню отвечай?

                Который из двух алгоритмов делает копию массива:
                1) for ($i=0; $i<$n; $i++) { $s += $a[i]; }
                2) while ($i<$n) { $s += $a[i]; $i++; }

                Слив засчитан, детка? Или есть вопросы?
                Ответить
              • наконец-то грамотный собеседник на прямой линии, а то надоели эти непрофессионалы
                Ответить
        • Смотрю, bormand неплохо отыгрывает "срывателя покровов".
          Ответить
          • Да причем тут "отыгрывает", guest?
            Это пример элегантного однострочного обоснования оппоненту "что к чему" - учись.
            Ответить
            • > пример элегантного однострочного обоснования оппоненту "что к чему" - учись.
              Вот пример элегантного однострочного обоснования:
              http://govnokod.ru/11301#comment144874
              Ответить
              • lm/Категория:Универсальные ответы
                Там много таких "элегантных однострочных обоснований"
                Ответить
            • > Да причем тут "отыгрывает"

              Социальные игры, Эрик Берн, если не ошибаюсь, и все такое.
              Ответить
              • 4. "Ну что, попался, негодяй!" (НУПН)

                Довольно скоро стало ясно, что и Уайт, и водопроводчик играли в какие-то игры. Во время переговоров они оценили, на что каждый из них способен. Водопроводчик, предъявляя счет, сделал провокационный ход. Поскольку он уже раньше связал себя словом, то правда была не на его стороне. А Уайт почувствовал себя вправе дать полную волю своей ярости. Вместо того, чтобы достойно, в соответствии со Взрослыми стандартами, которые он сам себе установил, обсудить всю ситуацию, высказав, может быть, искреннее
                недоумение, Уайт воспользовался этой возможностью для огульной критики всей жизненной позиции водопроводчика.


                Как-то так ;) Подходит ко многим моим ответам...
                Ответить

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