在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:它只是一个静态值。但在代码中,我将有一些数据分配给它。这只是为了让事情简单。。。