查詢

array_multisort()函式—用法及示例

「 根據一個或多個陣列的值對多個陣列進行排序。它可以按照升序或降序的方式進行排序 」


PHP函式array_multisort()用於根據一個或多個陣列的值對多個陣列進行排序。它可以按照升序或降序的方式進行排序。

用法:

array_multisort ( array &$array1 [, mixed $array1_sort_order = SORT_ASC [, mixed $array1_sort_flags = SORT_REGULAR [, mixed $... ]]] ) : bool

引數解釋:

  • $array1:必需。要排序的第一個陣列。也可以傳入其他需要進行排序的陣列,但是它們的長度必須一樣。
  • $array1_sort_order:可選。指定用於排序的順序。可以是SORT_ASC(預設)表示升序,或者SORT_DESC表示降序。
  • $array1_sort_flags:可選。指定排序演算法使用的標誌。詳細可用的標誌請參考PHP的sort()array_multisort()函式文件。

返回值:

  • 返回排序成功返回true,失敗則返回false。

示例:

$names = ['John', 'Alice', 'Bob'];
$scores = [80, 95, 70];

// 按照分數降序排序,並保持姓名與分數的對應關係
array_multisort($scores, SORT_DESC, $names);

// 輸出排序結果
for ($i = 0; $i < count($names); $i++) {
    echo "<p>$names[$i] - $scores[$i]</p>";
}

輸出結果:

<p>Alice - 95</p>
<p>John - 80</p>
<p>Bob - 70</p>

在這個示例中,我們有兩個陣列$namesscores,分別儲存了學生姓名和分數。透過使用array_multisort()函式,我們可以根據分數對兩個陣列進行排序。我們將$scores陣列作為第一個排序陣列,並將排序順序設定為降序SORT_DESC。然後,我們傳入$names陣列以保持姓名與分數的對應關係。

最後,我們使用一個迴圈來遍歷排序後的陣列,輸出每個學生的姓名和分數。注意,排序後的陣列索引是相同的,這樣就可以正確地將姓名和分數對應起來。

希望這個示例能夠清楚地演示array_multisort()函式的用法和效果。

補充糾錯
上一個函式: array_merge_recursive()函式
下一個函式: array_pad()函式
熱門PHP函式
分享連結