帮助我使用usort()对这个php数组进行排序
作者:互联网
我有一个看起来像的数据结构
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;
}
标签:usort,multidimensional-array,arrays,php,sorting 来源: https://codeday.me/bug/20191023/1913720.html