Php 将数组从上到下排序

Php 将数组从上到下排序,php,arrays,sorting,Php,Arrays,Sorting,我现在有一个数组,我想按升序对数组排序。我试过了,但没用。我的数组是 Array ( [0] => Array ( [0] => 216 [id] => 216 [1] => 52.42 [TRUNCATE(100*(sum(m.carbs/(m.carbs+m.fat+m.protein))

我现在有一个数组,我想按升序对数组排序。我试过了,但没用。我的数组是

   Array
    (
        [0] => Array
            (
                [0] => 216
                [id] => 216
                [1] => 52.42
                [TRUNCATE(100*(sum(m.carbs/(m.carbs+m.fat+m.protein))/count(u.id)),2)] => 52.42
                [2] => 2014-07-22
                [Cdate] => 2014-07-22
            )

        [1] => Array
            (
                [0] => 217
                [id] => 217
                [1] => 73.91
                [TRUNCATE(100*(sum(m.carbs/(m.carbs+m.fat+m.protein))/count(u.id)),2)] => 73.91
                [2] => 2014-07-19
                [Cdate] => 2014-07-19 
            )

        [2] => Array
            (
                [0] => 220
                [id] => 220
                [1] => 71.87
                [TRUNCATE(100*(sum(m.carbs/(m.carbs+m.fat+m.protein))/count(u.id)),2)] => 71.87
                [2] => 2014-07-18
                [Cdate] => 2014-07-18
            )
现在我想将数组排序为从最后一个索引到第一个索引

2,1,0

我已经写了函数,但没有工作

function lastSort($a, $b) {
    $aLast = end(explode(' ', $a));
    $bLast = end(explode(' ', $b));

    return strcasecmp($aLast, $bLast);
}

$r=uasort($array, 'lastSort');diamen
使用数组_反转


因为您想要的是反转数组,为什么不使用PHP本机函数array\u reverse

$array = array(/*... Your array*/);
$r = array_reverse($array);
这将为您节省:
.

为什么不在SQL查询中使用ORDER BY子句?记住第二个参数true以保留键。@hd。这不是强制性的,因为此问题中的键是数字键,并且数字键始终由数组_reverse保存;我的测试表明并非如此——我希望x=>y是索引2,而不是0。@hd。对不起,我看错了。你说得对:只有数字键不会被保留
Array
(
    [2] => Array
        (
            [x] => y
        )

    [1] => Array
        (
            [faz] => baz
        )

    [0] => Array
        (
            [foo] => bar
        )

)
$array = array(/*... Your array*/);
$r = array_reverse($array);