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

    +19

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    <?php
    function word_filter($str) {
    	$filtered = '';
    	for ($i = 0; $i <= strlen($str) - 1; $i++) {
    		$char = substr($str, $i, 1);
    		if (ctype_alpha($char)) {
    			$filtered .= $char;
    		}
    	}
    	return $filtered;
    }

    как делают дебилы: $i <= strlen($str) - 1;
    кто знает, так - $j = strlen($str), $i < $j

    Запостил: guest, 01 Января 2009

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

    • 1:
      В данном случае — да. Но если внутри цикла меняется $str, то "дебилы" имеют меньше проблем с отладкой.
      Ответить
    • anmiles:
      Делать присваивание $j = strlen($str) в каждой итерации - намного больший дебилизм.
      -1
      Ответить
    • Проходим:
      Мне только одному кажется, что автор предлагает заменить обычный, практически классический код на говонокод?

      -1
      Ответить
    • EZJ:
      Автор просто хотел выпендриться ))) У него не получилось )))
      Ответить
    • Devgru:
      Данная замена действительно может ускорить код, но только в случае, если речь идёт о строке длиной в несколько тысяч символов и более.
      А так да, лучше не менять - появятся упомянутые выше проблемы с отладкой.
      Ответить
    • FK:
      а для меня говнокод тут:

      $char = substr($str, $i, 1);

      вместо простого $char = $str{$i};



      [quote=anmiles]
      Делать присваивание $j = strlen($str) в каждой итерации - намного больший дебилизм.
      [/quote]
      Думаю автор имел ввиду что-то вроде этого:

      for ($i = 0,$j = strlen($str), $i < $j; $i++)

      В данном случае присваивание произойдет единожды
      Ответить
    • Dr.Freez:
      [quote=FK]а для меня говнокод тут:[/quote]
      А для меня говнокод всё что здесь понаписали...
      $str = preg_replace('/[^\S]/i','',$str);


      поэтому +1
      Ответить
    • автор:
      [quote=Говногость]
      Делать присваивание $j = strlen($str) в каждой итерации - намного больший дебилизм
      [/quote]

      почитай последовательность исполнений блоков
      курим ман

      [quote=Говногость]
      а для меня говнокод тут:

      $char = substr($str, $i, 1);

      вместо простого $char = $str{$i};

      [/quote]

      вместо {} лучше [] опять курим ман
      Ответить

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