具有未知长度数组的偏移量

Offset with an array of unknown length

我从另一个构建一个数组。 我有键和值,但我不知道我的新数组有多深

我正在使用 eval 函数,但 SONAR 拒绝它。所以我得另辟蹊径。

$splitpair[0] = array("key1", "key2", "...", "keyN");
$splitpair[1] = "val1";
$returnArray[$splitpair[0]] = $splitpair[1];

我想要这样的返回数组:$returnArray[key1][key2][...][keyN] = "val1";

您可以遍历索引并移动引用以指向最后一个嵌套数组

`

$returnArray = [];

$buffer = &$returnArray;//buffer points to $returnArray

$array = array('key1','key2','key3');

foreach($array as $index){
    if(!(isset($buffer[$index])&&is_array($buffer[$index]))){
        $buffer[$index]=[]; //if $buffer[$index] is not an array, initialize it
    }
    $buffer=&$buffer[$index];//buffer points to the last nested array ($returnArray['key1']['key2']....[$index])
}

$buffer='val1';

var_dump($returnArray);

`