从多维关联数组中动态按键获取值 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);
我在尝试动态获取数值时得到 "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);