【问题标题】:Get value of key in nth level multidimensional array PHP获取第n级多维数组PHP中的键值
【发布时间】:2019-06-25 16:28:45
【问题描述】:

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

如何有效地获取 past_key 值。

【问题讨论】:

标签: php arrays sorting


【解决方案1】:

您快到了,但正在寻找错误的钥匙。此外,传递给 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)
  }

【讨论】:

  • 当然第三个参数,也可以被闭包继承。
猜你喜欢
  • 2016-02-09
  • 1970-01-01
  • 1970-01-01
  • 2021-05-15
  • 1970-01-01
  • 1970-01-01
  • 2012-04-26
  • 1970-01-01
  • 2013-04-03
相关资源
最近更新 更多