English | 简体中文 | 繁體中文
查询

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函数
分享链接