根据数组键创建动态命名的变量

mrd*_*iri 2 php arrays

我有一个多维数组,我想根据键创建新的变量.

我写了这段代码,但它返回NULL:

$a = array("test" => array("a", "b", "c"));
foreach($a as $key => $value){
    if(is_array($value)){
        $i = 0;
        foreach($value as $v){
            $i++;
            $$key[$i] = $v;
        }
    }
}
var_dump($test);
?>
Run Code Online (Sandbox Code Playgroud)

问题出在哪儿?

rid*_*rid 7

这样做:

${$key}[$i] = $v;
Run Code Online (Sandbox Code Playgroud)
  • $$key[$i]表示"名称为的变量$key[$i]".
  • ${$key}[$i]表示" $i名称为$key" 的变量的位置.

此外,如果您可以初始化该$test数组会很好,所以您不会收到通知.在第二个之前添加以下内容foreach:

$$key = array();
Run Code Online (Sandbox Code Playgroud)