- 1
- 2
- 3
for ($i = 0, $cnt = count($arList); $i < $cnt; $i++) {
$arConfig["CONFIG"]["category"]["VALUES"][$arList[$i]] = GetMessage('SALE_DH_RUSSIANPOST_CONFIG_CATEGORY_'.$arList[$i]);
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+151
for ($i = 0, $cnt = count($arList); $i < $cnt; $i++) {
$arConfig["CONFIG"]["category"]["VALUES"][$arList[$i]] = GetMessage('SALE_DH_RUSSIANPOST_CONFIG_CATEGORY_'.$arList[$i]);
}
... вместо человеческого foreach($arList as $k => $v) { ... }
dev6alexander 03.11.2011 09:13 # −3
AnimeGovno-_- 05.11.2011 05:11 # +3
Блин, не можешь сделать нормально, ну сделай ты хоть через foreach.
Iceman 05.11.2011 15:49 # 0
Страшнее всего то, что такие конструкции в коде вообще повсюду, а не на отдельно взятом участке.
dev6alexander 07.11.2011 07:20 # 0
bugmenot 07.11.2011 07:23 # 0
> на право
Iceman 07.11.2011 09:18 # 0
1. Лишний вызов count()
2. Счётчик остаётся в памяти после прохождения цикла.
Чем это плохо:
1. При постоянных вызовах лишних функций повсеместно в коде значительно снижается производительность.
2. Переменная не забирается сборщиком мусора. При использовании foreach() переменные внутри цикла ($key, $value) уничтожаются после прохождения цикла, освобождая память.
dev6alexander 07.11.2011 09:41 # −1
инициализировать массив $arConfig куда записывает строку (видимо ланг ключ или название константы) -
'SALE_DH_RUSSIANPOST_CONFIG_CATEGORY_'.$ arList[$i]
2. что значит лишний вызов count? (без него здесь никак, я так думаю что в реализации foreach тоже вшит этот метод) Как Вы видите вызов этой функции находится внутри секции инициализации цикла. Так что данная функция вызовится только раз!
3. "При использовании foreach() переменные внутри цикла ($key, $value) уничтожаются после прохождения цикла, освобождая память" -
запустите этот пример и Вы увидите, что не правы! ничего не удаляется (юазайте подход ООП для того, чтобы не захломлять глобальную область видимости переменными):
<?php
$aTest = array(
'first' => array(
'name' => 'Alex'
),
'second' => array(
'Petia',
),
);
foreach($aTest as $sKey => $aValues)
{
echo $sKey , '<br />';
}
echo '<hr />';
echo $sKey;
dev6alexander 07.11.2011 09:48 # −1
Iceman 07.11.2011 10:01 # 0
Насчёт foreach я действительно был неправ, каюсь. Ключ в памяти остаётся. Ман подсказал: Warning! Reference of a $value and the last array element remain even after the foreach loop. It is recommended to destroy it by unset().
dev6alexander 07.11.2011 10:06 # 0
Iceman 07.11.2011 10:40 # 0
Использование цикла со счётчиком в условиях первоначальной задачи не является ошибкой. Просто когда писали этот код, никто не задумывался о том, что ключи могут в перспективе изменяться. И если ввести в конфигурационный массив символьный ключ то всё вообще полетит к чёртовой матери. Такие вот дела. Просто good practice.
guest 05.11.2011 04:21 # 0
guest 05.11.2011 04:59 # 0
guest 05.11.2011 05:05 # 0
слово говно — 糞 (くそ, читается как [кусо] или [ксо])
Говно - друг или враг?
Говно - друг или враг? Умы прогрессивной общественности давно заняты этим вопросом, изучается метафизика говна и пишутся стихи.
Что думают об этом наши форумчане? Совершенно нелишне будет аргументировать свою позицию.
Я, например, считаю, что говно в целом дружественная нам субстанция. По крайней мере в физическом смысле.
1. Это хорошее удобрение.
2. Из говна делают конфетки. Во всяком случае - пытаются. В любом случае - это творчески развивает личность.
3. Говно прекрасно плавает. Соответственно, чем больше в вас говна, тем меньше шансов утонуть.
4. Говно производят абсолютно все люди, что вполне может способствовать их сближению.
Iceman 05.11.2011 15:44 # 0
guest 05.11.2011 23:23 # 0
Где мои посылки из поднебесной?!
NemoReturns 05.11.2011 23:25 # 0
guest8 09.04.2019 11:53 # −999