- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 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;
}
guest 01.01.2009 23:31 # 0
В данном случае — да. Но если внутри цикла меняется $str, то "дебилы" имеют меньше проблем с отладкой.
guest 02.01.2009 00:13 # 0
Делать присваивание $j = strlen($str) в каждой итерации - намного больший дебилизм.
-1
guest 02.01.2009 10:25 # 0
Мне только одному кажется, что автор предлагает заменить обычный, практически классический код на говонокод?
-1
guest 02.01.2009 12:13 # 0
Автор просто хотел выпендриться ))) У него не получилось )))
guest 02.01.2009 12:36 # 0
Данная замена действительно может ускорить код, но только в случае, если речь идёт о строке длиной в несколько тысяч символов и более.
А так да, лучше не менять - появятся упомянутые выше проблемы с отладкой.
guest 02.01.2009 18:06 # 0
а для меня говнокод тут:
$char = substr($str, $i, 1);
вместо простого $char = $str{$i};
[quote=anmiles]
Делать присваивание $j = strlen($str) в каждой итерации - намного больший дебилизм.
[/quote]
Думаю автор имел ввиду что-то вроде этого:
for ($i = 0,$j = strlen($str), $i < $j; $i++)
В данном случае присваивание произойдет единожды
guest 02.01.2009 19:22 # 0
[quote=FK]а для меня говнокод тут:[/quote]
А для меня говнокод всё что здесь понаписали...
поэтому +1
guest 02.01.2009 23:49 # 0
[quote=Говногость]
Делать присваивание $j = strlen($str) в каждой итерации - намного больший дебилизм
[/quote]
почитай последовательность исполнений блоков
курим ман
[quote=Говногость]
а для меня говнокод тут:
$char = substr($str, $i, 1);
вместо простого $char = $str{$i};
[/quote]
вместо {} лучше [] опять курим ман