gpt4 book ai didi

php - 根据子数组 [0] (unix) 值对数组进行排序

转载 作者:可可西里 更新时间:2023-11-01 00:04:34 29 4
gpt4 key购买 nike

我需要一个按 Unix 时间戳值排序的数组。我尝试同时使用 ksortkrsort,然后才意识到时间戳值有时可能相同(并且数组中不能有重复的键)。

这是我可能会遇到的示例数组:

$array = array(
[
"unix" => 1556547761, // notice the two duplicate unix values
"random" => 4
],
[
"unix" => 1556547761,
"random" => 2
],
[
"unix" => 1556547769,
"random" => 5
],
[
"unix" => 1556547765, // this should be in the 3rd position
"random" => 9
]
);

所以我想做的是根据每个子数组 unix 值对它们进行排序,但是我不知道该怎么做。我已经尝试了无数疯狂的方法(包括所有其他 sort 函数和许多很多 for 循环)来弄清楚 - 但无济于事。

感谢所有帮助。

最佳答案

您可以使用 usort按给定函数对数组进行排序

定义函数为:

function cmpByUnix($a, $b) {
return $a["unix"] - $b["unix"];
}

并使用:usort($array, "cmpByUnix");

实例:3v4l

请注意,您也可以使用 asort($array); 但这也会比较“随机”字段并保留 key - 如果这是您需要的,请查看 Mangesh 答案

关于php - 根据子数组 [0] (unix) 值对数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55908206/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com