Assort PHP是一個流行的PHP數(shù)組函數(shù),可以對數(shù)組進行排序并保留索引關(guān)系。它是在PHP版本5.4.0中引入的,也可以在較舊的版本中使用。向函數(shù)傳遞的值是一個引用,它將改變原始數(shù)組而不使用返回數(shù)組。讓我們深入了解這個函數(shù)以及它的一些示例用法。
Assort PHP函數(shù)的語法如下:
bool assort (array &$array [, int $sort_flag = SORT_REGULAR ])
該函數(shù)接受兩個參數(shù),第一個參數(shù)是執(zhí)行操作的數(shù)組,第二個參數(shù)是可選的規(guī)則值。規(guī)則值決定了排序方法以及如何排序。默認(rèn)情況下,規(guī)則值是SORT_REGULAR,意味著假定所有值都是相等的和可比較的。
讓我們看一些例子來更好地理解函數(shù)的工作原理。我們有以下未排序的數(shù)組:
$nums = array(33, 1, 22, 55, 4);
我們想對它進行排序:
assort($nums);
該函數(shù)將依次遍歷每個元素,比較其值,并進行排序,結(jié)果得到數(shù)組:
array(5) { [1]=>int(1) [2]=>int(4) [0]=>int(33) [3]=>int(55) [4]=>int(22) }
由于我們沒有為第二個參數(shù)傳遞規(guī)則值,因此函數(shù)使用默認(rèn)的規(guī)則值SORT_REGULAR進行排序。
現(xiàn)在,假設(shè)我們要使用SORT_NUMERIC規(guī)則來對數(shù)組進行排序。規(guī)則規(guī)定數(shù)組中的元素應(yīng)按數(shù)字大小排序,而不是按字典順序排序。在這種情況下,我們需要將第二個參數(shù)傳遞給assort函數(shù):
$nums = array(33, 1, 22, 55, 4); assort($nums, SORT_NUMERIC);
現(xiàn)在,我們得到了一個按數(shù)字大小排序的數(shù)組:
array(5) { [1]=>int(1) [4]=>int(4) [2]=>int(22) [0]=>int(33) [3]=>int(55) }
我們還可以使用SORT_STRING規(guī)則,該規(guī)則根據(jù)字典順序排序數(shù)組:
$letters = array("T", "X", "a", "r", "B"); assort($letters, SORT_STRING);
我們得到了一個按字典順序排序的數(shù)組:
array(5) { [4]=>string(1) "B" [2]=>string(1) "a" [3]=>string(1) "r" [0]=>string(1) "T" [1]=>string(1) "X" }
Assort PHP函數(shù)非常有用,可以快速將數(shù)組排序。使用不同的規(guī)則值可以根據(jù)特定需求對數(shù)組進行排序。