- 1
- 2
- 3
- 4
foreach($arResult["ITEMS"] as $k=>$arItem){
list($d,$m,$y) = explode(" ",$arItem["DISPLAY_ACTIVE_FROM"]);
$arResult["ITEMS"][$k]["DISPLAY_ACTIVE_FROM"] = $d." ".convertRusMonth($m)." ".$y;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+155
foreach($arResult["ITEMS"] as $k=>$arItem){
list($d,$m,$y) = explode(" ",$arItem["DISPLAY_ACTIVE_FROM"]);
$arResult["ITEMS"][$k]["DISPLAY_ACTIVE_FROM"] = $d." ".convertRusMonth($m)." ".$y;
}
Преобразование даты, необходимо изменить название месяца, к пример февраль должен стать февраля. Формат месяца заранее известен.
murz 22.04.2010 15:13 # 0
Abductio 22.04.2010 15:28 # +1
Работа с элементами по ссылке процентов на 30 быстрее, чем обращение по ключу.
А заменять имя месяца проще, через str_replace передавая массивы значений.
nikita2206 22.04.2010 15:37 # 0
murz 22.04.2010 15:41 # 0
2. Формат даты поменяется (например, не полное название месяца, а сокращенное) и будете по всему коду искать где менять, вместо правки одной функции. Да и без изменения формата перед каждой такой заменой задавать массив преобразования совсем не красиво
Abductio 22.04.2010 15:54 # 0
Я не говорил что надо убрать функцию.Функцию можно оставить, но делать заменой, без разбиения даты и собирания обратно.
unfunk 22.04.2010 15:53 # −2
>foreach($arResult as &$arItem)
Это для php4 актуально, а в 5-ке значения и так по ссылкам передаются
Abductio 22.04.2010 15:59 # 0
То у всех элементов изменится значение?
unfunk 22.04.2010 16:20 # 0
В php4 на каждой итерации цикла создавалась копия элемента $arItem и чтобы избежать этого, передавали значение по ссылке.
В php5 оно сразу передается по ссылке, но копия создается уже при попытке записи в эту переменную (copy-on-write в действии).
Ну а если в foreach нужно изменять массив, то тут - да, только по ссылке передавать.
Abductio 22.04.2010 16:22 # 0
Death 22.04.2010 18:48 # +1
в одном из проектом задрался переписывать такие конструкция, т.к. на хосте был только php4 и ниибёт!
Abductio 22.04.2010 19:25 # 0
mrbig66 22.04.2010 21:31 # 0
Спасибо за информацию.
Abductio 22.04.2010 21:35 # 0