我有一个深度为 n 的数组。 我已经尝试过,但它对我不起作用。
array_walk_recursive($old_value, function($v, $k, $u) use (&$values){
if($k == "tour_id") {
$values[] = $v;
}
}, $values );
这是我的数组:
array(
"ID" => 1,
"settings" => array("key" => 1,"scrum" => array("last_key" =>1, "past_key" => 12) )
)
如何有效地获取过去的键值。
最佳答案
你快到了,但找错了 key 。此外,传递给 array_walk_recursive 的第三个参数作为第三个参数传递给回调(您的需要不需要,但我在下面添加了示例使用)。
<?php
$input = array(
"ID" => 1,
"settings" => array("key" => 1,"scrum" => array("last_key" =>1, "past_key" => 12) )
);
array_walk_recursive($input, function($v, $k, $needle_key) use (&$values){
if($k == $needle_key) {
$values[] = $v;
}
}, 'past_key');
var_dump($values);
输出:
array(1) {
[0]=>
int(12)
}
关于php - PHP 获取第 n 层多维数组中 key 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54473670/