PHP 函数array_multisort()使用

array_multisort() 是一个非常有用的 PHP 函数,它用于对多个数组或多维数组进行排序。这个函数可以同时对多个数组进行排序,并且支持按照多个键进行排序。

下面是 array_multisort() 函数的语法:

array_multisort(array &$array1, array &$array2, array &$array3 = null, $sort_flags = SORT_ASC, $column = 0): bool

参数说明:

  • $array1:要排序的第一个数组。该参数是必需的。
  • $array2:要排序的第二个数组。该参数是可选的。
  • $array3:要排序的第三个数组。该参数也是可选的。可以传递多个数组,依此类推。
  • $sort_flags:排序标志,用于指定排序方式(升序或降序)。默认值为 SORT_ASC(升序)。
  • $column:要排序的列的索引。默认值为 0,表示按第一个列进行排序。可以指定多个列,以逗号分隔。

示例 1:对一个数组进行排序

$fruits = array("apple", "banana", "orange");
array_multisort($fruits);
print_r($fruits);

输出:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
)

示例 2:对多个数组进行排序

$fruits = array("apple", "banana", "orange");
$colors = array("red", "yellow", "orange");
array_multisort($fruits, $colors);
print_r($fruits);
print_r($colors);

输出:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
)
Array
(
    [0] => red
    [1] => yellow
    [2] => orange
)

在示例 2 中,我们有两个数组 $fruits$colors。我们使用 array_multisort() 函数对这两个数组进行排序,并根据它们之间的关联关系进行排序。由于两个数组都有相同的元素顺序,因此它们会以相同的顺序进行排序。

示例 3:按多个列进行排序

$students = array(
    array("name" => "John", "age" => 20, "score" => 85),
    array("name" => "Jane", "age" => 25, "score" => 90),
    array("name" => "Bob", "age" => 22, "score" => 78)
);
array_multisort(array_column($students, 'score'), SORT_DESC, array_column($students, 'age'), SORT_ASC, $students);
print_r($students);

输出:

Array
(
    [0] => Array
        (
            [name] => Jane
            [age] => 25
            [score] => 90
        )

    [1] => Array
        (
            [name] => John
            [age] => 20
            [score] => 85
        )

    [2] => Array
        (
            [name] => Bob
            [age] => 22
            [score] => 78
        )

)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值