天天看點

php 數組排序鍵值重新排列_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"

}

}

PS:這裡再為大家推薦一款關于排序的示範工具供大家參考:

希望本文所述對大家PHP程式設計有所幫助。