php объединяет многомерные массивы

У меня проблемы с объединением этих двух массивов, чтобы ключи оставались вместе. Проблема (я думаю) у меня заключается в том, что массивы не совпадают по своей структуре, а ключи массива — целые числа в одном и имена в другом. Я чувствую, что мне нужен один массив (не стесняйтесь меня поправлять), чтобы я мог согласованно отображать цены на странице, но я не могу понять, как это сделать. Я попытался array_merge, но он теряет индексированный под-массив tlds:

$result = array();
foreach($cats[0]['domorder'] as $domorder) {
$result = array_merge($domorder, $prices[0]);
}

Может быть, я могу как-то (это тоже не работает) добавить подмассив ‘price’, который не будет перезаписан?

$result = array();
$prc = array();
$prc['price'] = $prices[0];
foreach($prc as $p) {
$result = array_merge($p, $cats[0]['domorder'][0]);
}

Вот в основном то, с чем я работаю … мои извинения, если они не отформатированы правильно для вопросов здесь.

Массив 1, определения категорий продуктов хостинга / доменных имен:


Array
(
[0] => Array
(
[hosting] => Array
(
[0] => vpslinuxin
[1] => resellerhostinglinuxuk
[2] => resellerwindowshostinguk
........etc,etc.........
[34] => hosting
)

[domorder] => Array
(
[0] => Array
(
[dombiz] => Array
(
[0] => biz
)

)

[1] => Array
(
[dominfo] => Array
(
[0] => info
)

)
........etc,etc.........

Массив 2, цены, связанные с вышеуказанными категориями товаров:


Array
(
[0] => Array
(
[resellerhostinglinuxuk] => Array
(
[131] => Array
(
[renew] => Array
(
[1] => 43.19
)

[ssl] => 4.79
[add] => Array
(
[1] => 43.19
)

)
........etc,etc.........
[dombiz] => Array
(
[addtransferdomain] => Array
(
[1] => 10.69
)

[restoredomain] => Array
(
[1] => 69.95
)

[addnewdomain] => Array
(
[10] => 10.89
[9] => 10.89
)
........etc,etc.........

Кто-нибудь? Я чувствую, что это должно быть довольно легкое слияние, но я не могу понять, как заставить это работать.

редактировать

Вот пример того, как я думаю, что это должно работать:

Array
(
[0] => Array
(
[hosting] => Array
(
[vpslinuxin] => Array
(
[prices] => Array
(
[addons] => Array
(
.......
)
[plans] => Array
(
.......
)
)
)
)
[domorder] => Array
(
[0] => Array
(
[dombiz] => Array
(
[tlds] => Array
(
[0] => biz
)
[prices] => Array
(
[addtransferdomain] => Array
(
.......
)
[restoredomain] => Array
(
.......
)
[addnewdomain] => Array
(
.......
)
[renewdomain] => Array
(
.......
)
)
)

)
)
)
)

2

Решение

спасибо за твою помощь Майкл, но мне удалось ее получить.

Я слишком много думал об этом, поэтому после ужина и некоторого отдыха я решил упростить то, что я пытался. Нет строгого правила, согласно которому эти два массива должны быть вместе — в конечном итоге они все равно будут вместе. Поэтому я просто добавил один к другому, определяемый ключами «product» и «price»:

$result = array();
$result[]['product'] = $cats[0];
$result[]['prices'] = $prices[0];
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]