本文實例講述了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:這里再為大家推薦一款關于排序的演示工具供大家參考:
在線動畫演示插入/選擇/冒泡/歸并/希爾/快速排序算法過程工具:
http://tools.jb51.net/aideddesign/paixu_ys
更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP數據結構與算法教程》、《php程序設計算法總結》、《php字符串(string)用法總結》、《PHP數組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結》及《PHP數學運算技巧總結》
希望本文所述對大家PHP程序設計有所幫助。
您可能感興趣的文章:- PHP多維數組指定多字段排序的示例代碼
- php自定義二維數組排序函數array_orderby用法示例
- PHP實現統計一個數字在排序數組中出現次數的方法
- PHP多維數組排序array詳解
- php usort 使用用戶自定義的比較函數對二維數組中的值進行排序
- PHP編程實現多維數組按照某個鍵值排序的方法小結【2種方法】
- PHP實現二維數組根據key進行排序的方法
- php常用數組array函數實例總結【賦值,拆分,合并,計算,添加,刪除,查詢,判斷,排序】
- PHP實現數組根據某個單元字段排序操作示例