|
|
|
| Привет.
у меня следующая задача. Нужно отредактировать шаблон вывода товаров из каталога.
То есть приходится править готовый код, там все построено на многомерных массивах.
К примеру, кусок кода.
<?foreach($arResult["ITEMS"] as $cell=>$arElement):?>
<?foreach($arElement["DISPLAY_PROPERTIES"] as $pid=>$arProperty):?>
<?=$arProperty["NAME"]?>: <?
if(is_array($arProperty["DISPLAY_VALUE"]))
echo implode(" / ", $arProperty["DISPLAY_VALUE"]);
else
echo $arProperty["DISPLAY_VALUE"];?><br />
<?endforeach?>
|
Поправьте меня, пожалуйста, я где-то ошибаюсь, но не пойму где.
С помощью цикла foreach из текущего массива создается копия вложенного массива. Затем из вложенного массива с помощью этого цикла создается еще копия опять же вложенного массива.
но ведь есть способ без обхода массива, занести в нужный тебе массив вложенный массива какого-либо массива.
Как это можно сделать? То есть другими словами. Есть массив 1, в нем два вложенных массива 1.1 и 1.2
вот каким образом мне в массив 3 загнать массив 1.2
пробовал несколькими способами, не получилось - не буду уж их описывать, все равно не прокатили. Спасибо | |
|
|
|
|
|
|
|
для: [ANTI]CheateR
(16.11.2009 в 15:20)
| | Не совсем понял что вам нужно, вы это хотели?
<?php
$array3 = $array['1']['2'];
|
| |
|
|
|
|
|
|
|
для: Гость
(16.11.2009 в 15:26)
| | вы правильно поняли, только этим способом я пользовался - не получается.
на том же примере покажу, может найдете ошибку.
<?foreach($arResult["ITEMS"] as $cell=>$arElement):?>
<?foreach($arElement["DISPLAY_PROPERTIES"] as $pid=>$arProperty):?>
<?=$arProperty["NAME"]?>:
|
вот, все это дело по идее можно заменить на это
$my = $arResult["ITEMS"]["DISPLAY_PROPERTIES"];
print_r($my["NAME"]);
|
ну ведь должно работать? а ничего не выводит(( | |
|
|
|
|
|
|
|
для: [ANTI]CheateR
(16.11.2009 в 15:44)
| | Тфу не подумал, вам вот так нужно:
$my = $arResult["ITEMS"]["0"]["DISPLAY_PROPERTIES"];
вместо нуля - индекс, который нам отсюда не виден. Сделайте print_r ($arResult["ITEMS"]); и посмотрите что там за индексы. И что бы добраться до "NAME" нужно будет указать еще один подобный. | |
|
|
|
|
|
|
|
для: [ANTI]CheateR
(16.11.2009 в 15:20)
| | array1 + array 2
array_push()
array_merge()
и т.п... | |
|
|
|