如何对嵌套数组进行排序?

时间:2021-07-02 09:19:09

标签: php

我需要一个标准的排序函数。我不想使用循环等。

数组

排序前

$arr = [
    [5, 7, 1, 4],
    [88, 43, 56],
    [12, 64, 3],
];

排序后我想得到

$arr = [
    [1, 4, 5, 7],
    [43, 56, 88],
    [3, 12, 64],
];

我知道这样做。我不喜欢这种方式。我正在寻找一个没有循环的标准函数。

<?php

$arr = [
    [5, 7, 1, 4],
    [88, 43, 56],
    [12, 64, 3],
];

foreach ($arr as $k => &$innersArr) {
    usort($innersArr, function ($a, $b) {
        return $a - $b;
    });
}

print_r($arr);

1 个答案:

答案 0 :(得分:2)

您可以使用 array_map 和 sort 函数。

<?php
function mySort($a){
sort($a);
return $a;
}
$sortedArray = array_map('mySort',$arr);
echo '<pre>';
print_r($sortedArray);
?>