在php中从简单数组构建动态关联数组
我有一个数组,如下所示在php中从简单数组构建动态关联数组,php,arrays,dynamic-arrays,Php,Arrays,Dynamic Arrays,我有一个数组,如下所示 $arr = ['Product', 'Category', 'Rule']; 这可以是一个动态数组,这意味着它有时可以包含1-5个元素,并且其值可以更改。 我们如何以动态方式从上面的数组创建如下所示的数组 $json['Product']['Category']['Rule'] = 'fixed'; 简单地说,我只是尝试从$arr中获取的值生成一个多维数组。这个函数应该可以做到这一点 function nestArray($arr, $value) { if
$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
)
)
)
这个函数应该可以做到这一点
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
)
)
)
'fixed'
值从何而来?@BadHorsie:这只是一个静态值。但在代码中,我将有一些数据分配给它。这只是为了让事情变得简单……这个'fixed'
值是从哪里来的?@BadHorsie:它只是一个静态值。但在代码中,我将有一些数据分配给它。这只是为了让事情简单。。。