PHP二維數組排序方法
一維數組排序可以使用asort、ksort等一些方法進程排序,相對來說比較簡單。下面是小編爲大家整理的PHP二維數組排序方法,歡迎參考~
例如像下面的數組:
代碼如下:
$users = array(
array('name' => 'tom', 'age' => 20)
, array('name' => 'anny', 'age' => 18)
, array('name' => 'jack', 'age' => 22)
);
希望能按照age從小到大進行排序。筆者整理了兩個方法出來,分享給大家。
1、使用array_multisort
使用這個方法,會比較麻煩些,要將age提取出來存儲到一維數組裏,然後按照age升序排列。具體代碼如下:
代碼如下:
$ages = array();
foreach ($users as $user) {
$ages[] = $user['age'];
}
array_multisort($ages, SORT_ASC, $users);
執行後,$users就是排序好的數組了,可以打印出來看看。如果需要先按年齡升序排列,再按照名稱升序排列,方法同上,就是多提取一個名稱數組出來,最後的排序方法這樣調用:
代碼如下:
array_multisort($ages, SORT_ASC, $names, SORT_ASC, $users);
2、使用usort
使用這個方法最大的.好處就是可以自定義一些比較複雜的排序方法。例如按照名稱的長度降序排列:
代碼如下:
usort($users, function($a, $b) {
$al = strlen($a['name']);
$bl = strlen($b['name']);
if ($al == $bl)
return 0;
return ($al > $bl) ? -1 : 1;
});
這裏使用了匿名函數,如果有需要也可以單獨提取出來。其中$a, $b可以理解爲$users數組下的元素,可以直接索引name值,並計算長度,而後比較長度就可以了。
相關文章
-
PHP二維數組排序的方法
總結是事後對某一階段的學習或工作情況作加以回顧檢查並分析評價的書面材料,它可以促使我們思考,因此我們需要回頭歸納,寫一份總結了。但是總結有什麼要求呢?下面是小編爲大家整理的it試用期工作總結,僅供參考,歡迎大家閱讀 -
PHP二維數組排序的3種方法和自定義函數分享
大學運動會投稿50字 時間在流逝,賽道在延伸,成功在你面前展現心臟的跳動,熱血在沸騰,輝煌在你腳下鑄就,運動會加油稿。加油吧,健兒們!堅定,執着,耐力與希望,在延伸的白色跑道中點點凝聚!力量,信念,拼搏與奮鬥,在遙遠的終點線上漸漸 -
PHP指定字段的多維數組排序方法
故事總要有結束的時候,但不是每個人都有尾聲。以下是小編幫大家整理的優美文藝句子60句,希望大家喜歡。1、生活總會給予我們希望,然後又讓我們發現那些不可能。2、當你不能再擁有,你唯一可以做的,就是令自己不要忘記。3、 -
分析php選擇排序法實現數組排序的方法
本文實例分析了php選擇排序法實現數組排序的.方法。分享給大家供大家參考。具體分析如下:選擇排序法的基本思路:直接用案例來說明吧,比如有一個數組$arr = array(2,6,3,9),從大到小排序。第一次大循環:它首先假設$arr[0]爲 -
PHP 數組排序方法總結
文章詳細的介紹了快速創建數組的函數range()和常見PHP數組排序的方法,希望對大家有幫助。隨着PHP的快速發展,用它的人越來越多,在PHP數組學習摘錄部分了解到最基本的PHP數組的建立和數組元素的顯示。需要深入學習下PHP數 -
PHP 多維數組的排序問題
桂陽縣位於湖南省東南部,北枕衡山,南臨廣東,自古爲湖湘入粵的通衢要道,有三湘之屏蕃,兩廣之管鑰之稱。現轄26個鄉鎮(街道),面積2973平方公里,人口88萬,是郴州市面積最大、人口最多的縣,也是湖南省縣域經濟十強縣。桂陽曆史久遠 -
PHP對特殊語文查詢結果進行數組排序的方法介紹
滄海桑田,風雨坎坷,偉大的祖國曆盡磨難。我們肩負着跨世紀的歷史使命,我們不甘心落後於前人,我們要繼承和發揚先行者留給我們不怕困難,開括前進的大無畏精神。下面是小編爲大家精心蒐集三年級勿忘國恥振興中華專題演講稿80 -
php對特殊語句查詢結果進行數組排序的方法技巧
PHP獨特的語法混合了C、Java、Perl以及PHP自創的語法。它可以比CGI或者Perl更快速地執行動態網頁。以下是小編爲大家搜索整理php對特殊語句查詢結果進行數組排序的方法,希望能給大家帶來幫助!更多精彩內容請及時關注我 -
PHP中數組的分組排序實例
PHP的數組,數組中的內容大致如下,就跟隨本站小編一起去了解下吧,想了解更多相關信息請持續關注我們應屆畢業生考試網!複製代碼 代碼如下:$list = array(array(2,3,5),array(2,5,24),array(3,8,6),array(3,2,10),array(4, -
PHP中數組的分組排序
PHP的.數組,數組中的內容大致如下,PHP中數組的分組排序有哪些?就跟隨本站小編一起去了解下吧,想了解更多相關信息請持續關注我們應屆畢業生考試網!複製代碼 代碼如下:$list = array(array(2,3,5),array(2,5,24),array(3,8