php二維陣列排序方法一維陣列排序可以使用asort、ksort等一些方法程序排序,相對來說比較簡單。二維陣列的排序怎麼實現呢?使用array_multisort和usort可以實現
例如像下面的陣列:
**如下:
$users = array(
array('name' => 'tom', 'age' => 20)
, array('name' => 'anny', 'age' => 18)
, array('name' => 'jack', 'age' => 22));
1、使用array_multisort
使用這個方法,會比較麻煩些,要將age提取出來儲存到一維陣列裡,然後按照age公升序排列。具體**如下:
**如下:
$ages = array();
foreach ($users as $user)
array_multisort($ages, sort_asc, $users);
執行後,$users就是排序好的陣列了,可以列印出來看看。如果需要先按年齡公升序排列,再按照名稱公升序排列,方法同上,就是多提取乙個名稱陣列出來,最後的排序方法這樣呼叫:
**如下:
array_multisort($ages, sort_asc, $names, sort_asc, $users);
2、使用usort
使用這個方法最大的好處就是可以自定義一些比較複雜的排序方法。例如按照名稱的長度降序排列:
**如下:
usort($users, function($a, $b) );
這裡使用了匿名函式,如果有需要也可以單獨提取出來。其中$a, $b可以理解為$users陣列下的元素,可以直接索引name值,並計算長度,而後比較長度就可以了。
筆者更喜歡第二種方法,因為少了提取排序內容到一維陣列的步驟,而且排序方法更為靈活。
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 ...