欢迎访问宙启技术站
智能推送

了解PHP函数中的数组排序方法

发布时间:2023-06-17 11:45:33

PHP提供了多种数组排序方法,可以对数组进行升序、降序、自定义规则等排序,以下是对常用的PHP数组排序方法进行介绍。

一、sort()函数

可以使用sort()函数对数组进行升序排序,该函数会重置数组的指针。

语法:sort($array)

参数:$array 必须,要排序的数组

示例:

$array = array(3, 1, 2, 5, 4);
sort($array);
print_r($array);

输出结果:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

二、rsort()函数

可以使用rsort()函数对数组进行降序排序,该函数会重置数组的指针。

语法:rsort($array)

参数:$array 必须,要排序的数组

示例:

$array = array(3, 1, 2, 5, 4);
rsort($array);
print_r($array);

输出结果:

Array
(
    [0] => 5
    [1] => 4
    [2] => 3
    [3] => 2
    [4] => 1
)

三、asort()函数

可以使用asort()函数对数组进行升序排序,不过该函数会保留数组的键名,而且键与值的关联不会丢失。

语法:asort($array)

参数:$array 必须,要排序的数组

示例:

$array = array(
    "D" => "PHP",
    "A" => "Java",
    "C" => "Python",
    "B" => "C"
);
asort($array);
print_r($array);

输出结果:

Array
(
    [B] => C
    [A] => Java
    [D] => PHP
    [C] => Python
)

四、arsort()函数

可以使用arsort()函数对数组进行降序排序,不过该函数会保留数组的键名,而且键与值的关联不会丢失。

语法:arsort($array)

参数:$array 必须,要排序的数组

示例:

$array = array(
    "D" => "PHP",
    "A" => "Java",
    "C" => "Python",
    "B" => "C"
);
arsort($array);
print_r($array);

输出结果:

Array
(
    [C] => Python
    [D] => PHP
    [A] => Java
    [B] => C
)

五、ksort()函数

可以使用ksort()函数按键名对数组进行升序排序,同样的该函数保留数组的键名,而且键与值的关联不会丢失。

语法:ksort($array)

参数:$array 必须,要排序的数组

示例:

$array = array(
    "D" => "PHP",
    "A" => "Java",
    "C" => "Python",
    "B" => "C"
);
ksort($array);
print_r($array);

输出结果:

Array
(
    [A] => Java
    [B] => C
    [C] => Python
    [D] => PHP
)

六、krsort()函数

可以使用krsort()函数按键名对数组进行降序排序,同样的该函数保留数组的键名,而且键与值的关联不会丢失。

语法:krsort($array)

参数:$array 必须,要排序的数组

示例:

$array = array(
    "D" => "PHP",
    "A" => "Java",
    "C" => "Python",
    "B" => "C"
);
krsort($array);
print_r($array);

输出结果:

Array
(
    [D] => PHP
    [C] => Python
    [B] => C
    [A] => Java
)

七、uasort()函数

可以使用uasort()函数自定义回调函数对数组进行排序,同样的该函数保留数组的键名,而且键与值的关联不会丢失。

语法:uasort($array, $cmp_function)

参数:$array 必须,要排序的数组;$cmp_function 必须,回调函数名(请自定义)

示例:

function cmp($a, $b)
{
    if ($a > $b) {
        return 1;
    } else if ($a < $b) {
        return -1;
    } else {
        return 0;
    }
}

$array = array(3, 1, 2, 5, 4);
uasort($array, "cmp");

print_r($array);

输出结果:

Array
(
    [1] => 1
    [2] => 2
    [0] => 3
    [4] => 4
    [3] => 5
)

以上就是常用的PHP数组排序方法,希望对大家的PHP开发有所帮助。