首頁  >  文章  >  後端開發  >  PHP根據數組某個鍵值大小進行排序

PHP根據數組某個鍵值大小進行排序

小云云
小云云原創
2018-03-14 09:16:242456瀏覽

本文主要和大家介紹了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"
 }
}

相關推薦:

php常用的排序實作方法實例

php冒泡,選擇,插入和快速排序法詳解

#########php實作幾種常見的排序演算法######

以上是PHP根據數組某個鍵值大小進行排序的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn