从 php 中的简单数组构建动态关联数组

Build dynamic associative array from simple array in php

我有一个数组,如下所示

$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
                )

        )

)