for loop

Aug. 21st, 2020 02:04 am
michaelkoloboff: (Default)
[personal profile] michaelkoloboff
Время от времени на глаза попадается, что люди пишут на РНР и JS, и сильно режет этот глаз, когда массивы обрабатывают через for.
Мне что-то казалось, что специально обученные конструкции типа foreach эффективнее и, наверно, главное - гораздо лучше читаемы: видишь foreach = "пробегаем по всему вот этому массиву", видишь for = "да хуй его знает, надо дальше смотреть".
Что наука говорит?

Date: 2020-08-21 02:40 pm (UTC)
wererat: (Default)
From: [personal profile] wererat
Мне всегда казалось, что цикл FOR для обработки массивов используется, когда для какой-л. цели нужен в явном виде указатель. Или чтобы обработать лишь часть массива, например. Или чтобы можно было break поставить, если обработку можно/нужно прервать. Но что говорит наука -- не знаю, не буду врать =)

Date: 2020-08-21 04:02 pm (UTC)
wererat: (Default)
From: [personal profile] wererat
Значит, это делают casual programmers вроде меня, которые не знают, что такие удобные вещи в языке Икс есть (или появились). В php3, например, такого не было, когда я на нём что-то пописывал. А вообще, удобнее each:

while (list($key, $item) = each($fruit))
{
...
}

Сразу видно, где break ставить, и в целом понятнее =)

А по скорости там один хер, в этих интерпретаторах.

Profile

michaelkoloboff: (Default)
michaelkoloboff

February 2026

S M T W T F S
12 34 56 7
8 91011121314
15161718192021
22232425262728

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 10th, 2026 03:31 am
Powered by Dreamwidth Studios