PHP數(shù)組函數(shù)array_multisort()用法實(shí)例分析
本文實(shí)例分析了PHP數(shù)組函數(shù)array_multisort()用法。分享給大家供大家參考,具體如下:
有時(shí)候我們需要對(duì)二維數(shù)組的某個(gè)鍵的值進(jìn)行排序,這里就是討論這個(gè)問題。我們可以使用array_multisort()這個(gè)函數(shù)。array_multisort() 函數(shù)對(duì)多個(gè)數(shù)組或多維數(shù)組進(jìn)行排序。
參數(shù)中的數(shù)組被當(dāng)成一個(gè)表的列并以行來進(jìn)行排序 - 這類似 SQL 的 ORDER BY 子句的功能。第一個(gè)數(shù)組是要排序的主要數(shù)組。數(shù)組中的行(值)比較為相同的話,就會(huì)按照下一個(gè)輸入數(shù)組中相應(yīng)值的大小進(jìn)行排序,依此類推。
第一個(gè)參數(shù)是數(shù)組,隨后的每一個(gè)參數(shù)可能是數(shù)組,也可能是下面的排序順序標(biāo)志(排序標(biāo)志用于更改默認(rèn)的排列順序)之一:
SORT_ASC - 默認(rèn),按升序排列。(A-Z)
SORT_DESC - 按降序排列。(Z-A)
隨后可以指定排序的類型:
SORT_REGULAR - 默認(rèn)。將每一項(xiàng)按常規(guī)順序排列。
SORT_NUMERIC - 將每一項(xiàng)按數(shù)字順序排列。
SORT_STRING - 將每一項(xiàng)按字母順序排列。
語法:array_multisort(array1,sorting order,sorting type,array2,array3...)
array1:必需。規(guī)定輸入的數(shù)組。
sorting order:可選。規(guī)定排列順序??赡艿闹凳?SORT_ASC 和 SORT_DESC。
sorting type:可選。規(guī)定排序類型??赡艿闹凳荢ORT_REGULAR、SORT_NUMERIC和SORT_STRING。
array2:可選。規(guī)定輸入的數(shù)組。
array3:可選。規(guī)定輸入的數(shù)組。
字符串鍵名將被保留,但是數(shù)字鍵將被重新索引,從 0 開始,并以 1 遞增。可以在每個(gè)數(shù)組后設(shè)置排序順序和排序類型。如果沒有設(shè)置,每個(gè)數(shù)組參數(shù)會(huì)使用默認(rèn)值。
下面是一個(gè)例子:
<?php $arr = ''; echo '二維數(shù)組如下:'.'<br / >'; for($i=0; $i<=5; $i++) { $arr[$i]['val'] = mt_rand(1, 100); $arr[$i]['num'] = mt_rand(1, 100); } echo '<pre>'; print_r($arr); echo '</pre>'; echo '從二維數(shù)組中抽出鍵為val,單獨(dú)成另一個(gè)數(shù)組:'.'<br / >'; foreach ($arr as $key => $row) { $vals[$key] = $row['val']; $nums[$key] = $row['num']; } echo '<pre>'; print_r($vals); echo '</pre>'; echo '對(duì)其進(jìn)行排序:'.'<br / >'; array_multisort($vals, SORT_ASC, $arr); echo '<pre>'; print_r($vals); echo '</pre>'; ?>
運(yùn)行結(jié)果:
二維數(shù)組如下: Array ( [0] => Array ( [val] => 46 [num] => 49 ) [1] => Array ( [val] => 8 [num] => 24 ) [2] => Array ( [val] => 37 [num] => 3 ) [3] => Array ( [val] => 32 [num] => 35 ) [4] => Array ( [val] => 19 [num] => 38 ) [5] => Array ( [val] => 30 [num] => 37 ) ) 從二維數(shù)組中抽出鍵為val,單獨(dú)成另一個(gè)數(shù)組: Array ( [0] => 46 [1] => 8 [2] => 37 [3] => 32 [4] => 19 [5] => 30 ) 對(duì)其進(jìn)行排序: Array ( [0] => 8 [1] => 19 [2] => 30 [3] => 32 [4] => 37 [5] => 46 )
這樣我們將得到一個(gè)按val升序排序的二維數(shù)組。
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP基本語法入門教程》、《php操作office文檔技巧總結(jié)(包括word,excel,access,ppt)》、《php日期與時(shí)間用法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
- php中array_multisort對(duì)多維數(shù)組排序的方法
- PHP使用array_multisort對(duì)多個(gè)數(shù)組或多維數(shù)組進(jìn)行排序
- php二維數(shù)組排序方法(array_multisort usort)
- PHP array_multisort() 函數(shù)的深入解析
- 如何利用php array_multisort函數(shù) 對(duì)數(shù)據(jù)庫結(jié)果進(jìn)行復(fù)雜排序
- php的array_multisort()使用方法介紹
- PHP array_multisort()函數(shù)的使用札記
- php 數(shù)組排序 array_multisort與uasort的區(qū)別
- array_multisort實(shí)現(xiàn)PHP多維數(shù)組排序示例講解
- php關(guān)于array_multisort多維數(shù)組排序的使用說明
- php array_map array_multisort 高效處理多維數(shù)組排序
- php array_multisort 對(duì)數(shù)組進(jìn)行排序詳解及實(shí)例代碼
相關(guān)文章
PHP服務(wù)器頁面間跳轉(zhuǎn)實(shí)現(xiàn)方法
在ASP中,我們可以使用Server.Transfer來實(shí)現(xiàn)在服務(wù)器端重定向,PHP中雖然沒有這樣的函數(shù),但是要實(shí)現(xiàn)類似的跳轉(zhuǎn)也不難2012-08-08php使用date和strtotime函數(shù)輸出指定日期的方法
這篇文章主要介紹了php使用date和strtotime函數(shù)輸出指定日期的方法,實(shí)例匯總了生成各種日期格式的方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-11-11php實(shí)現(xiàn)的錯(cuò)誤處理封裝類實(shí)例
這篇文章主要介紹了php實(shí)現(xiàn)的錯(cuò)誤處理封裝類,結(jié)合具體實(shí)例形式分析了php錯(cuò)誤判斷、提示及日志相關(guān)操作技巧,需要的朋友可以參考下2017-06-06理解PHP中的Session及對(duì)Session有效期的控制
這篇文章主要介紹了理解PHP中的Session及對(duì)Session有效期的控制,Session默認(rèn)有效期為1440秒而后則會(huì)用到PHP的垃圾回收,需要的朋友可以參考下2016-01-01提高PHP編程效率的53個(gè)要點(diǎn)(經(jīng)驗(yàn)小結(jié))
下面是php老手整理的一些開發(fā)經(jīng)驗(yàn)之談,提高php的執(zhí)行效率。2010-09-09