php遍历取出其中一个值,代码如图,求怎么取,打印为null

$arr1=[
0=>[
'a'=>'abc',
'b'=>['foat'=>'word','aet'=>'hello']
],
1=>[
'a'=>'def',
'b'=>['alt'=>'pass',
'top'=>'dds'
]
]
];
$arr2=[];
foreach ($arr1 as $v){
$arr2['c']=$v['b']['foat'];
}
var_dump($arr2);

$arr2['c']=$v['b']['foat'];,第一次取值为“word”,第二次取值为NULL,覆盖第一次取值,所以输出为null。下面代码可以验证。

$arr2=[];
foreach ($arr1 as $v){
$arr2['c']=$v['b']['foat'];

var_dump($arr2);

}

最后一条的值能取出来,前边的就不行,是我语法有问题吗,引用符不行,也可能我用的不对,求解

没毛病啊,第二个数组$arr1[1]没有foat这个键,所以会被赋值null
array(1) {
'c' =>
NULL
}

$arr2[]=$v['b']['foat'];