Php 如何对多维数组排序

Php 如何对多维数组排序,php,Php,我有以下数组: Array ( [0] => Array ( [days] => Wed [count] => 0 ) [1] => Array ( [days] => Tue [count] => 0 ) [2] => Array ( [days] => Mon [count] => 1 )

我有以下数组:

Array
(
[0] => Array
    (
        [days] => Wed
        [count] => 0
    )

[1] => Array
    (
        [days] => Tue
        [count] => 0
    )

[2] => Array
    (
        [days] => Mon
        [count] => 1
    )

[3] => Array
    (
        [days] => Sun
        [count] => 0
    )
我想对它进行排序,看起来是这样的:

Array
(
    [3] => Array
        (
            [days] => Sun
            [count] => 0
        )

    [2] => Array
        (
            [days] => Mon
            [count] => 1
        )

    [1] => Array
        (
            [days] => Tue
            [count] => 0
        )

    [0] => Array
        (
            [days] => Wed
            [count] => 0
        )
有人能帮我做这件事吗?

试试usort:如果您仍然使用PHP5.2或更早版本,您必须首先定义一个排序函数:

usort($myArray, function($a, $b) {
    return $a['days'] - $b['days']; // your operation for checking value 
});
function sortByOrder($a, $b) {
    return $a['days'] - $b['days'];
}

usort($myArray, 'sortByOrder');
从PHP 5.3开始,您可以使用匿名函数:

usort($myArray, function($a, $b) {
    return $a['days'] - $b['days'];
});
最后,使用PHP7,您可以使用spaceship操作符:

usort($myArray, function($a, $b) {
    return $a['days'] <=> $b['days'];
});

以下php函数可能会有所帮助:

bool array_multisort ( array &$array1 [, mixed $array1_sort_order = SORT_ASC [, mixed $array1_sort_flags = SORT_REGULAR [, mixed $... ]]] )

也许这对你有帮助

usort($inputArray, function($first, $second) {
    return $first['days'] - $second['days']; 
});

定义如下数组。反向键顺序?子阵列中天数的升序?
usort($inputArray, function($first, $second) {
    return $first['days'] - $second['days']; 
});