Mr.*_*oon 11 php arrays sorting
我有问题以我想要的方式排序数组.
这是我的数组的示例输出:http://pastebin.com/GJNBmqL7
数据来自各种数据库,因此我将数据放入数组的方式受到限制.
[2]总是包含一个linux时间戳.现在我希望整个数组按时间戳排序,首先是最低值.
我该怎么做呢?
Hea*_*ota 11
使用usort接受自定义函数来排序数组:
你的功能可能看起来像:
function cmp($a, $b)
{
if ($a[2] == $b[2]) {
return 0;
}
return ($a[2] < $b[2]) ? -1 : 1;
}
Run Code Online (Sandbox Code Playgroud)
这里是一个array_multisort示例:
foreach ($array as $key => $node) {
$timestamps[$key] = $node[2];
}
array_multisort($timestamps, SORT_ASC, $array);
Run Code Online (Sandbox Code Playgroud)
您只需使用自定义排序即可完成此操作.所以假设你的日期戳总是索引2:
function sortArray($a1, $a2){
if ($a1[2] == $a2[2]) return 0;
return ($a1[2] > $a2[2]) ? -1 : 1;
}
usort($array, "sortArray");
Run Code Online (Sandbox Code Playgroud)