У меня есть массив:
array (size=3)
0 => string 'Level' (length=5)
1 => string 'Sub' (length=3)
2 => string 'Item' (length=4)
А теперь я хочу преобразовать этот массив в такой:
array (size=1)
'Level' =>
array (size=1)
'Sub' =>
array (size=1)
'Item' =>
array (size=0)
...
Затем я хочу «объединить» этот «преобразованный» массив с этим массивом:
array (size=1)
'Level' =>
array (size=1)
'Sub' =>
array (size=1)
'AnotherItem' =>
array (size=0)
...
Результат должен выглядеть так:
array (size=1)
'Level' =>
array (size=1)
'Sub' =>
array (size=2)
'Item' =>
array (size=0)
...
'AnotherItem' =>
array (size=0)
...
Я также хочу иметь возможность «объединить» этот результат с другим «преобразованным» массивом. Я более двух часов пытался найти решение самостоятельно, но теперь мой мозг разбился.
Заранее спасибо за помощь!
Практически ничего не пробовал. Я просто не могу представить, как это работает.
Что ж, тогда вам нужно прочитать о массивах в PHP и сначала что-нибудь попробовать. Есть масса примеров. Мы здесь, чтобы помочь, но вы должны делать всю работу. Если вы собираетесь работать программистом на каком-либо языке, вам нужно знать, как управлять массивами.






Если вы зациклите массив в обратном направлении, вы можете построить массив, сделав новый массив = тем, чем был предыдущий элемент.
Затем для объединения двух массивов используйте array_merge_recursive.
$arr = ['level', 'sub', 'item'];
$arr = array_reverse($arr);
$new =[];
// Rebuild the array
foreach($arr as $key => $item){
if ($key ==0){
$new = [$item => []];
}else{
$new = [$item => $new];
}
}
// Your other array:
$other = array (
'level' =>
array (
'sub' =>
array (
'AnotherItem' =>
array (
),
),
),
);
// Merge the two
$new = array_merge_recursive($new, $other);
var_export($new);
Выход:
array (
'level' =>
array (
'sub' =>
array (
'item' =>
array (
),
'AnotherItem' =>
array (
),
),
),
)
Что ты пробовал? Разместите свой код.