- 1
- 2
- 3
- 4
if (ctype_space($text[$pos] && $pos < $len)) {
while (ctype_space($text[$pos++]) && $pos < $len);
$pos--;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+152
if (ctype_space($text[$pos] && $pos < $len)) {
while (ctype_space($text[$pos++]) && $pos < $len);
$pos--;
}
Написал я когда-то такое и подумал: а какой смысл в $pos++ в последней итерации, если потом сразу $pos--?
И тут до меня дошло, что
while (ctype_space($text[$pos++]) && $pos < $len);
это не то же самое, что
while (ctype_space($text[$pos]) && $pos < $len) $pos++;
ибо в первом случае $pos++ выполнится в последней итерации, даже если ctype_space возвратит false.
И в итоге заоптимизировал до while (ctype_space($text[$pos]) && $pos < $len) $pos++; (уже без ифа и декремента).
Мораль: нефиг выпендриваться (ставить инкременты и декременты в условия), если можно написать по-простому.
bormand 14.04.2014 20:50 # 0
P.S. explode() задачу не решает? Тогда уж.
Fike 20.04.2014 04:25 # −1