从多维关联数组中动态按键获取值 php

get value by key dynamically from multidimensional associative array php

我在尝试动态获取数值时得到 "undefined index error"。

如果有这样的数组,

$area =  array( 
    'MetroManila' => array ('Manila'=>'133900000', 'Mandaluyong'=>'137401000', 'Marikina'=>'137402000'),
    'Bataan' =>array('Abucay'=>'030801000', 'Bagac'=>'030802000', 'Balanga'=>'030803000', ),
);

我想得到的就是像这样从数组中获取数值 “137401000”

当我像回声那样做时 $area['MetroManila'][Mandaluyong]; 没关系。 但是当我动态获取值时 $area[$var][$var]; 它 returns 一个未定义的索引错误。

我已经检查过 $var 的值,没有问题。

您需要两个不同的变量,一个用于第一个维度,另一个用于第二个维度。例如。

$province = 'MetroManila';  
$city = 'Mandaluyong'; 
echo $area[$province][$city];

你必须像这样递归使用函数

$area =  array( 
   'MetroManila' => array ('Manila'=>'133900000', 
'Mandaluyong'=>'137401000', 'Marikina'=>'137402000'),
'Bataan' =>array('Abucay'=>'030801000', 'Bagac'=>'030802000', 'Balanga'=>'030803000', ),
);
$arr=[];
 array_walk_recursive(
      $area, 
      function($k) use (&$arr) {
           $arr[]=$k;
       }
 );
print_r($arr);