PHP對多維陣列按照某個鍵值大小進行排序

2021-06-19 22:50:12 字數 2076 閱讀 6002

實際工作中,常常要對陣列進行排序操作,下面簡單講解一下,運用array_multisort()函式 進行對多維陣列鍵值大小進行排序。

<?php

/** * 多維陣列按照某索引的值大小進行排序

* @author zhao jinhan

* @email [email protected]

* @web

* @date 2023年12月27日16:58:13

*/ //定義三個相同的陣列

$arr1= array(

'0'=>array(

'a'=>1,

'b'=>2,

'c'=>3

), '1'=>array(

'a'=>10,

'b'=>7,

'c'=>0

),'2'=>array(

'a'=>-3,

'b'=>2,

'c'=>8

),'8'=>array(

'a'=>9,

'b'=>6,

'c'=>5));

$arr2=$arr1;

$arr3=$arr1;

//分別按照索引a\b\c降序排列

$arr_a=array('0'=>1,'1'=>10,'2'=>-3,'8'=>9); //按照$arr1的某個索引(為a)生成的陣列

$arr_b=array('0'=>2,'1'=>7,'2'=>2,'8'=>6); //按照$arr2的某個索引(為b)生成的陣列

$arr_c=array('0'=>3,'1'=>0,'2'=>8,'8'=>5); //按照$arr3的某個索引(為c)生成的陣列

echo "";

array_multisort($arr_a,sort_desc,$arr1);

print_r($arr1);

array_multisort($arr_b,sort_desc,$arr2);

print_r($arr2);

array_multisort($arr_c,sort_desc,$arr3);

print_r($arr3);

?>

執行結果如下:

按照(a)的大小降序:

按照(b)的大小降序:

按照(c)的大小降序:

array

([0] => array

([a] => 10

[b] => 7

[c] => 0

) [1] => array

([a] => 9

[b] => 6

[c] => 5

) [2] => array

([a] => 1

[b] => 2

[c] => 3

) [3] => array

([a] => -3

[b] => 2

[c] => 8) )

array

([0] => array

([a] => 10

[b] => 7

[c] => 0

) [1] => array

([a] => 9

[b] => 6

[c] => 5

) [2] => array

([a] => -3

[b] => 2

[c] => 8

) [3] => array

([a] => 1

[b] => 2

[c] => 3) )

array

([0] => array

([a] => -3

[b] => 2

[c] => 8

) [1] => array

([a] => 9

[b] => 6

[c] => 5

) [2] => array

([a] => 1

[b] => 2

[c] => 3

) [3] => array

([a] => 10

[b] => 7

[c] => 0) )

php對多維陣列的某個鍵值排序方法

function 二維陣列按指定的鍵值排序 author www.111cn.net function array sort array,keys,type asc if isset keys trim keys if isset type type in array strtolower type...

php二維陣列按照某個鍵值排序

php二維陣列按照某個鍵值排序 arr array name 小壞龍 age 28 array name 小壞龍2 age 14 array name 小壞龍3 age 59 array name 小壞龍4 age 23 array name 小壞龍5 age 23 array name 小壞龍6 ...

php 按某個鍵值給二維或者多維陣列排序

arr array 0 array num1 3,num2 27 1 array num1 5,num2 50 2 array num1 4,num2 44 3 array num1 3,num2 78 foreach arr as key row array multisort num1 sort...