Какой способ правильнее или корректнее ?

Печать RSS
339


2000 лет д.н.э.
0
10. SCRIPTOMAN, даже не интересовался.
используй то что лучше понимаешь, тысячные доли секунды не аргумент для насилования мозга, а плохо осмысленный код, всяко хуже осмысленного, пусть и не оптимального.
в частности тут пример с while плохо осмыслен
<?php
while ($this = current($array) ){
    do_something($this);
    next($array);
}
?>

http://www.php.net/while

Землянин
0
11. ramzes, понял, спасибо !
Тему можно закрывать...

2000 лет д.н.э.
0
Хотя..
Если подумать, то foreach оптимальнее любого другого цикла, в случае перебора массива.
Он собственно за этим и создан.
While проверяет значение элемента true или false
При этом мы еще должны сами передвинуть каретку на следующий элемент.
а foreach просто идет по массиву, от индекса к индексу (не по ключу, а именно по внутреннему индексу эллемента массива)
так что я думаю, foreach оптимальнее
П

Пацак
0
$t=file("diary.txt"); echo join('<br/>', $t).sizeof($t); - самый оптимальный код smile , а вообще где-то даже на визави была статья, что для неассоциативных массивов перебор в for быстрее, чем foreach, а уж тем более, чем этот current/next. Если не ошибаюсь, то последнее вообще использовалось в php 4 до появления foreach.

2000 лет д.н.э.
0
14. Im-ieee, for как раз медленнее, я уже написал как работает foreach, сравни с тем как работает for.
А ***статей тут много))
З.ы. где то на хабре были тесты обоих циклов, с минимальным разрывом победил foreach.

Добавлено через 01:40 сек.
З.ы.ы. в пхп все массивы ассоциативные.
Благодаря его гибкой типизации данных 1 == '1'

Господин ПЖ
0
foreach хорош тем что может оперировать с ключами
foreach ($array as key=>$value)

я только не понимаю зачем в 1 посте применять эти функции и ворошить файл
когда file($t) будет равна $r и посчитать можно count(file($t))

Чатланин
0
странно, я всегда почему-то считал что for работает быстрее чем foreach. погуглю малость по этому поводу, интересно
K

Транклюкаторщик
0
экономить на спичках, но при этом приводить код в трудночитаемый вид это просто верх корректности

2000 лет д.н.э.
0
Виталик Альянс (12 Апреля 2012 / 14:51)
странно, я всегда почему-то считал что for работает быстрее чем foreach. погуглю малость по этому поводу, интересно
В фор присутствует математическое действие, и запрос элемента массива по ключу. Это уже медленнее, чем просто переход к следующему элементуsmile
З.ы. сам не проверял, только читал
П

Пацак
0
16. Vantuz, там и цикл не нужен вообще. (плохой пример, наверное) / проверил, действительно, почему-то foreach быстрее, хотя куча статей по оптимизации говорят обратное. Возможно, это для старых версий php.
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск