可能重复:
How do I sort a multidimensional array in php
Sorting a multidimensional array in PHP?
如何按高,中,低排序数组(见下文)?
# Generate random events
$severity = array('high','medium','low');
$events = array();
for ($i=1,$n=10;$i<=$n;$i++) {
$events["Country{$i}"] = array(
'high' => rand(0,100),
'medium' => rand(0,100),
'low' => rand(0,100),
'total' => 'X'
);
}
我的意思是,在底线我将有一个排序数组,它保存所有countryX
按最高值排序,然后是中等,然后是低 - 全部在1个大数组中。
尝试了不同的方法,但不能得到正确的结果。
答案 0 :(得分:0)
function sillySort($a, $b) {
if ($a['high'] > $b['high']) {
return -1;
} else if ($a['high'] < $b['high']) {
return 1;
} else {
if ($a['medium'] > $b['medium']) {
return -1;
} else if ($a['medium'] < $b['medium']) {
return 1;
} else {
if ($a['low'] > $b['low']) {
return -1;
} else if ($a['low'] < $b['low']) {
return 1;
} else {
return 0;
}
}
}
}
uksort($events, 'sillySort');