首頁  >  文章  >  後端開發  >  怎樣實現根據數組的鍵值大小排序

怎樣實現根據數組的鍵值大小排序

php中世界最好的语言
php中世界最好的语言原創
2018-03-24 17:58:331853瀏覽

這次為大家帶來怎樣實現根據數組的鍵值大小排序,實現根據數組的鍵值大小排序的注意事項有哪些,下面就是實戰案例,一起來看一下。

本文實例講述了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實作路由和類別自動載入

#bindParam和bindValue在Yii2中的使用詳解

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

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