php - PHP 获取第 n 层多维数组中 key 的值

标签 php arrays sorting

我有一个深度为 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/

相关文章:

javascript - PHP-从基于另一个下拉列表的数据插入

PHP 7 类型提示问题

c++ - 为什么此代码片段会返回意外结果?

python - 确定数字列表是否按堆顺序,Python 3.2

php - 提交失败后如何保持表单输入

javascript - 如何使用 JavaScript 变量作为键访问 PHP 数组元素?

objective-c - 获取委托(delegate)方法的返回值

algorithm - 在 O(n) 时间内使用黑盒算法计算中位数

javascript - 根据 <li> 内 <span> 中的文本对 <Ul> 的 <li> 元素进行排序

php - .htaccess RewriteRule 参数