按列值对二维数组的行进行排序[重复]

问题描述 投票:0回答:2

我有一个像这样的数组:

Array
(
    [0] => Array
        (
            [title] => some title
            [time] => 1279231500
        )

    [1] => Array
        (
            [title] => some title 2
            [time] => 1279231440
        )
    
    [2] => Array
        (
            [title] => some title 3
            [time] => 1279229880
        )
)

如何根据时间排序?

php arrays sorting multidimensional-array
2个回答
4
投票

您可以这样排序(因为它是关联数组):

function cmp($a, $b)
{
   return strcmp($a['time'], $b['time']);
}

usort($your_array, "cmp");
print_r($your_array);

1
投票

正如 Gumbo 提到的,您不应该将 strcmp 用于整数值。

使用此功能

function cmp($a, $b) {
    if ($a['time'] == $b['time'])
        return 0;
    return ($a['time'] < $b['time']) ? -1 : 1;
}
© www.soinside.com 2019 - 2024. All rights reserved.