我写了一个方法来从一组键生成嵌套数组。
public static function generateSubArray(array $keys)
{
foreach($keys as $key)
{
if(!isset($subArray[$key])){
$subArray[$key] = [];
}
$subArray = $subArray[$key];
}
return $subArray;
}
用法:
$ret = Utils::generateSubArray(['name', 'id', 'fix']);
var_dump($ret);
预期:
$ret = [
'name' =>
[
'id' => ['fix']
]
]
但是得到空数组。怎么了???
答案 0 :(得分:1)
试试这个
public static function generateSubArray(array $keys)
{
$subArray = [];
$parent =& $subArray;
foreach($keys as $key)
{
if(!isset($parent[$key])){
$parent[$key] = [];
}
$parent =& $parent[$key];
}
return $subArray;
}