php创建多维数组,将值转换为键

php创建多维数组,将值转换为键,php,arrays,function,Php,Arrays,Function,我试图展示一个php函数如何创建一个多维数组,将值链接到键 $new_data = array(); $count = count($params); if($count == 1){ $new_data[$params[0]] = $content; } if($count == 2){ $new_data[$params[0]][$params[1]] = $content;

我试图展示一个php函数如何创建一个多维数组,将值链接到键

 $new_data = array();
        $count = count($params);
        if($count == 1){
            $new_data[$params[0]] = $content; 
        }
        if($count == 2){
            $new_data[$params[0]][$params[1]] = $content; 
        }
        if($count == 3){
            $new_data[$params[0]][$params[1]][$params[2]] = $content; 
        }
        if($count == 4){
            $new_data[$params[0]][$params[1]][$params[2]][$params[3]] = $content; 
        }
        if($count == 5){
            $new_data[$params[0]][$params[1]][$params[2]][$params[3]][$params[4]] = $content; 
        }

奇怪的措辞,但仍然是一个有效的问题(在我看来),所以我真的没有得到反对票。无论如何,这里有一个可能的解决方案:

function foo($content, $keys) {
  return sizeof($keys) === 0 ? $content : foo([array_pop($keys) => $content], $keys);
}

print_r(foo('bar', ['a', 'b', 'c', 'd', 'e']));

演示:

您应该添加输入和所需输出的示例,并清楚地描述当前的问题是什么。问题是……?欢迎使用堆栈溢出。请阅读并找出如何提出一个好的问题,这将产生良好的,有用的答案。谢谢你,这是我一直在寻找的。一个生成n键数组的函数+1.