尝试动态获取数值时,会收到“未定义索引错误”。
如果有这样的数组,
$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];
时,它将返回未定义的索引错误。
我已经检查了$ var的值,其值没有问题。
答案 0 :(得分:1)
您需要两个不同的变量,一个用于第一维,另一个用于第二维。例如。
$province = 'MetroManila';
$city = 'Mandaluyong';
echo $area[$province][$city];
答案 1 :(得分:0)
您必须递归使用此类函数
$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);