我有一个看起来像这样的数据结构
Array
(
[0] => Array
(
[0] => something
[1] => 1296986500
)
[1] => Array
(
[0] => something else
[1] => 1296600100
)
[2] => Array
(
[0] => another thing
[1] => 1296831265
)
)
我正在尝试根据作为 unix 时间戳的整数对数组进行排序。以下函数在我看来是正确的,但没有按照我想要的方式排序。
function cmp($a, $b)
{
if ($a[1] == $b[1]) {
return 0;
}
return ($a[1] < $b[1]) ? -1 : 1;
}
注意 在类中调用此函数时,OO 语法如下
uasort($_data, array($this, 'cmp'));
最佳答案
按升序对时间戳进行排序;对于降序,翻转第二个比较(即将 $a[1] < $b[1]
更改为 $a[1] > $b[1]
):
function cmp($a, $b)
{
if ($a[1] == $b[1]) {
return 0;
}
return ($a[1] > $b[1]) ? -1 : 1;
}
关于php - 帮助我使用 usort() 对这个 php 数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4911291/