PHP数组排序

按值排序(由小到大)

asort

键值关系保留

$arr = [4,3,2,5];
asort($arr);
print_r($arr);

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

uasort

键值关系保留

$arr = [4,3,2,5];
uasort($arr, function ($a, $b) {
    return $a <=> $b;
});
print_r($arr);

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

sort

键值关系重新建立

$arr = [4,3,2,5];
sort($arr);
print_r($arr);

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

usort

键值关系重新建立

$arr = [4,3,2,5];
usort($arr, function ($a, $b) {
    return $a <=> $b;
});
print_r($arr);

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

按值排序(由大到小)

arsort

键值关系保留

$arr = [4,3,2,5];
arsort($arr);
print_r($arr);

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

uasort

键值关系保留

$arr = [4,3,2,5];
uasort($arr, function ($a, $b) {
    return -($a <=> $b);
});
print_r($arr);

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

rsort

键值关系重新建立

$arr = [4,3,2,5];
rsort($arr);
print_r($arr);

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

usort

键值关系重新建立

$arr = [4,3,2,5];
usort($arr, function ($a, $b) {
    return -($a <=> $b);
});
print_r($arr);

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

按键排序(由小到大)

按键排序的函数,全部是键值关系保留

ksort

$arr = [1 => 4, 2 => 3, 3 => 2, 0 => 5];
ksort($arr);
print_r($arr);

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

uksort

$arr = [1 => 4, 2 => 3, 3 => 2, 0 => 5];
uksort($arr, function ($a, $b) {
    return $a <=> $b;
});
print_r($arr);

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

按键排序(由大到小)

krsort

$arr = [1 => 4, 2 => 3, 3 => 2, 0 => 5];
krsort($arr);
print_r($arr);

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

uksort

$arr = [1 => 4, 2 => 3, 3 => 2, 0 => 5];
uksort($arr, function ($a, $b) {
    return -($a <=> $b);
});
print_r($arr);

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

数组乱序

shuffle($arr);

你可能感兴趣的:(PHP数组排序)