PHP二維陣列排序 array multisort

2022-07-16 09:48:11 字數 1894 閱讀 5448

array_multisort — 對多個陣列或多維陣列進行排序

array_multisort() 可以用來一次對多個陣列進行排序,或者根據某一維或多維對多維陣列進行排序。

關聯(string)鍵名保持不變,但數字鍵名會被重新索引

成功時返回true, 或者在失敗時返回false

array1要排序的 array。

array1_sort_order之前 array 引數要排列的順序。sort_asc按照上公升順序排序,sort_desc按照下降順序排序。

此引數可以和array1_sort_flags互換,也可以完全刪除,預設是sort_asc

array1_sort_flags為 array 引數設定選項:

排序型別標誌:

引數可以和array1_sort_order交換或者省略,預設情況下是sort_regular

example #1 多個陣列排序

<?php

$ar1 = array(10, 100, 100, 0);

$ar2 = array(1, 3, 2, 4);

array_multisort($ar1, $ar2

);var_dump($ar1

);var_dump($ar2

);?>

結果:

array(4) 

array(4)

example #2 排序多維陣列

<?php

$ar = array

(

array("10", 11, 100, 100, "a"),

array( 1, 2, "2", 3, 1)

);array_multisort($ar[0], sort_asc, sort_string,

$ar[1], sort_numeric,sort_desc);

var_dump($ar

);?>

結果:

array(2) 

[1]=> array(5)

}

example #3 對資料庫結果進行排序

<?php

$data = array('volume' => 67, 'edition' => 2);

$data = array('volume' => 86, 'edition' => 1);

$data = array('volume' => 85, 'edition' => 6);

$data = array('volume' => 98, 'edition' => 2);

$data = array('volume' => 86, 'edition' => 6);

$data = array('volume' => 67, 'edition' => 7);

?>

<?php

// 將資料根據 volume 降序排列,根據 edition 公升序排列

// 把 $data 作為最後乙個引數,以通用鍵排序

array_multisort(array_column($data,'volume'), sort_desc, array_column($data,'edition'), sort_asc, $data);

?>

PHP二維陣列排序

php經過長時間的發展,很多使用者都很了解它了,上網收集了一些關於php二維陣列的相關知識,這裡和大家一起分享一下,php本身是有乙個多維陣列排序的函式的。bool array multisort array ar1 mixed arg mixed array 下面是手冊當中對於array mult...

PHP二維陣列排序

對二維陣列進行排序 模擬 資料表記錄按欄位排序 list order list,get orderkey get ordertype param array array 要排序的陣列 param string orderkey 排序關鍵字 字段 param string ordertype 排序方式...

php 二維陣列排序

寫乙個二維陣列排序演算法函式,能夠具有通用性,可以呼叫php內建函式 二維陣列排序,arr是資料,keys是排序的健值,order是排序規則,1是公升序,0是降序 function array sort arr,keys,order 0 keysvalue array foreach arr as ...