我有一系列货币代码及其相关联的国家/地区,如下所示:
$currency_list = array(
"cad" => array("Canada"),
"eur" => array("Austria", "Belgium", "Estonia"),
"aed" => array("United Arab Emirates", "Dubai")
);
我输出的是这样的:
foreach (array_keys($currency_list) as $key) {
foreach($currency_list[$key] as $value) {
echo $key." ".$value;
}
}
这给了我:
" cad 加拿大"," eur 奥地利"," eur 比利时"," eur 爱沙尼亚"," aed 阿拉伯联合酋长国"
如何对$ currency_list数组进行排序,以便在循环播放时,我按照字母顺序获取结果:
" eur 奥地利"," eur 比利时"," cad 加拿大"," eur 爱沙尼亚"," aed 阿拉伯联合酋长国"
答案 0 :(得分:2)
$sorted = array();
foreach ($currency_list as $currency => $countries) {
foreach ($countries as $country) {
$sorted[$country] = $currency;
}
}
ksort($sorted);
print_r($sorted); // do your loop here
答案 1 :(得分:0)
试试这个..
$currency_list = array(
"cad" => array("Canada"),
"eur" => array("Austria", "Belgium", "Estonia"),
"aed" => array("United Arab Emirates", "Dubai")
);
foreach ($currency_list as $key => $value) {
foreach ($value as $value1) {
$newarray[$value1] = $key;
}
}
ksort($newarray);
foreach($newarray as $key => $value)
{
echo $value." ".$key;
}
Result:eur Austriaeur Belgiumcad Canadaaed Dubaieur Estoniaaed United Arab Emirates