本文執行個體講述了PHP實作根據數組某個鍵值大小進行排序的方法。分享給大家供大家參考,具體如下:
問題:針對給定數組的某個鍵的鍵值進行排序
解決方法:
//$a是排序數組,$b是要排序的資料集合,$result是最終結果
$b = array(
array('name'=>'北京','nums'=>'200'),
array('name'=>'上海','nums'=>'80'),
array('name'=>'廣州','nums'=>'150'),
array('name'=>'深圳','nums'=>'70')
);
$a = array();
foreach($b as $key=>$val){
$a[] = $val['nums'];//這裡要注意$val['nums']不能為空,不然後面會出問題
}
//$a先排序
rsort($a);
$a = array_flip($a);
$result = array();
foreach($b as $k=>$v){
$temp1 = $v['nums'];
$temp2 = $a[$temp1];
$result[$temp2] = $v;
}
//這裡還要把$result進行排序,健的位置不對
ksort($result);
//然後就是你想看到的結果了
var_dump($result);
運作結果:
array(4) {
[0]=>
array(2) {
["name"]=>
string(4) "北京"
["nums"]=>
string(3) "200"
}
[1]=>
array(2) {
["name"]=>
string(4) "廣州"
["nums"]=>
string(3) "150"
}
[2]=>
array(2) {
["name"]=>
string(4) "上海"
["nums"]=>
string(2) "80"
}
[3]=>
array(2) {
["name"]=>
string(4) "深圳"
["nums"]=>
string(2) "70"
}
}
PS:這裡再為大家推薦一款關于排序的示範工具供大家參考:
希望本文所述對大家PHP程式設計有所幫助。