问题描述
$arr = ['Product','Category','Rule'];
这可以是动态数组,这意味着它有时内部可以包含1-5个元素,并且其值可以更改。 我们怎样才能以一种动态的方式从上一个创建一个如下所示的数组。
$json['Product']['Category']['Rule'] = 'fixed';
简单地说,我只是试图从我从$ arr获得的值中创建一个多维数组。
解决方法
此功能应该可以做到。
function nestArray($arr,$value) {
if (!count($arr)) {
return $value;
}
foreach (array_reverse($arr) as $key) {
$new = [$key => $value];
$value = $new;
}
return $new;
}
示例
$arr = ['Product','Category','Rule'];
$nested = nestArray($arr,'fixed');
print_r($nested);
输出
Array
(
[Product] => Array
(
[Category] => Array
(
[Rule] => fixed
)
)
)