我正在尝试使用 foreach 获取数组的 id:
$arrays = array (
'bike' =>
array (
'id' => 29,
),
'car' =>
array (
0 =>
array (
'id' => 189,
),
1 =>
array (
'id' => 190,
),
),
'plane' =>
array (
'id' => 313,
),
)
但有些数组位于第二层(汽车就是这个例子)。
我知道我可以在第一级做到这一点:
foreach ($arrays as $array) {
$array['id']
}
我可以在第二级做到这一点:
foreach ($arrays as $array => $value) {
$value['id']
}
但是如何将这些方法与只有一个 foreach 结合起来呢?
您可以使用 array_walk_recursive() 来实现此目的。例如:
$output = [];
array_walk_recursive($input, function($value, $key) use (&$output) {
$output[] = $value;
}, $output);
var_export($output);
这将输出:
array (
0 => 29,
1 => 190,
2 => 222,
3 => 313,
)