本文主要和大家介紹了PHP實現根據數組某個索引值大小進行排序的方法,涉及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" }}