這篇文章主要介紹了PHP數組函數array_multisort()用法,結合實例形式詳細分析了array_multisort函數的功能,定義及進行數組排序過程中的使用技巧,需要的朋友可以參考下
有時候我們需要對二維數組的某個鍵的值進行排序,這裡就是討論這個問題。我們可以使用array_multisort()這個函數。 array_multisort() 函數對多個陣列或多維數組進行排序。
參數中的陣列被當成一個表格的列並以行來進行排序 - 這類似 SQL 的 ORDER BY 子句的功能。第一個陣列是要排序的主要陣列。數組中的行(值)比較相同的話,就會按照下一個輸入數組中對應值的大小進行排序,依此類推。
第一個參數是數組,隨後的每一個參數可能是數組,也可能是下面的排序順序標誌(排序標誌用於更改預設的排列順序)之一:
#SORT_ASC - 默認,按升序排列。 (A-Z)
SORT_DESC - 依降序排列。 (Z-A)
隨後可以指定排序的類型:
SORT_REGULAR - 預設。將每一項按常規順序排列。
SORT_NUMERIC - 將每一項依數字順序排列。
SORT_STRING - 將每一項按字母順序排列。
語法:array_multisort(array1,sorting order,sorting type,array2,array3...)
array1:必要。規定輸入的數組。
sorting order:可選。規定排列順序。可能的值是 SORT_ASC 和 SORT_DESC。
sorting type:可選。規定排序類型。可能的值是SORT_REGULAR、SORT_NUMERIC和SORT_STRING。
array2:可選。規定輸入的數組。
array3:可選。規定輸入的數組。
字串鍵名將會保留,但是數字鍵將會重新索引,從 0 開始,並以 1 遞增。可以在每個數組後面設定排序順序和排序類型。如果沒有設置,每個數組參數會使用預設值。
下面是一個範例:
<?php $arr = ''; echo '二维数组如下:'.'<br / >'; for($i=0; $i<=5; $i++) { $arr[$i]['val'] = mt_rand(1, 100); $arr[$i]['num'] = mt_rand(1, 100); } echo '<pre class="brush:php;toolbar:false">'; print_r($arr); echo ''; echo '从二维数组中抽出键为val,单独成另一个数组:'.'
'; print_r($vals); echo ''; echo '对其进行排序:'.'
'; print_r($vals); echo ''; ?>
#運行結果:
二维数组如下: 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 ) ) 从二维数组中抽出键为val,单独成另一个数组: Array ( [0] => 46 [1] => 8 [2] => 37 [3] => 32 [4] => 19 [5] => 30 ) 对其进行排序: Array ( [0] => 8 [1] => 19 [2] => 30 [3] => 32 [4] => 37 [5] => 46 )相關推薦:
php使用number_format函數截取小數的方法及實例分析
php使用pdo連接sqlite3的設定方法詳解
#php實作透過檔案頭判斷格式的方法
## ######################以上是PHP數組函數array_multisort()的用法及實例分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!