繁体   English   中英

获取第n级多维数组PHP中键的值

[英]Get value of key in nth level multidimensional array PHP

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM