Php多数组foreach循环
我想在此数组中查找国家/地区iso代码:Php多数组foreach循环,php,arrays,Php,Arrays,我想在此数组中查找国家/地区iso代码: $countryArray = array( 'AD' => array( 'country_name' => 'ANDORRA', 'dial_code' => '376' ), 'AE' => array( 'country_name' => 'UNITED ARAB EMIRATES', 'dial_code
$countryArray = array(
'AD' => array(
'country_name' => 'ANDORRA',
'dial_code' => '376'
),
'AE' => array(
'country_name' => 'UNITED ARAB EMIRATES',
'dial_code' => '971'
),
'AF' => array(
'country_name' => 'AFGHANISTAN',
'dial_code' => '93'
));
我的情况是:
foreach($countryArray as $row){
if($row->dial_code == '93'){
echo $row; //???
}
}
在echo语句中,我想在本例中显示AF。
但是结果是错误的。foreach($countryArray作为$key=>$row){
如果($row['dial_code']==93){
echo$key;//???
}
}
试试这个,只需在foreach循环中使用$key
变量试试这个
foreach($countryArray as $k => $row){
if($row["dial_code"] == 93){
echo $k;
}
}
$key=>$value
foreach语句中的pair将当前key元素分配给$key,将当前值分配给$value
$countryArray = array(
'AD' => array(
'country_name' => 'ANDORRA',
'dial_code' => '376'
),
'AE' => array(
'country_name' => 'UNITED ARAB EMIRATES',
'dial_code' => '971'
),
'AF' => array(
'country_name' => 'AFGHANISTAN',
'dial_code' => '93'
));
foreach($countryArray as $key =>$value){
if($value['dial_code'] == 93){
echo $key;
}
}我解决了它,下面的代码工作正常
$countryArray = array(
'AD' => array(
'country_name' => 'ANDORRA',
'dial_code' => '376'
),
'AE' => array(
'country_name' => 'UNITED ARAB EMIRATES',
'dial_code' => '971'
),
'AF' => array(
'country_name' => 'AFGHANISTAN',
'dial_code' => '93'
));
foreach ($countryArray as $keys=> $arraycountry){
foreach($arraycountry as $key => $value)
{
if($value == '93'){
echo $keys; //???
}
}
}