如何在这里操作usort函数来将缺少LastUse键的对象移动到底部?缺少值的PHP usort
在此之前没有另一个循环将LastUse设置为0值,我不完全确定实现它的最佳方式。
我会查看列表顶部排序的LastUse值,以及那些列表底部没有值的排序值。
usort($trackdata, function ($a, $b) {
return strtotime($b->LastUse) - strtotime($a->LastUse);
});
如何在这里操作usort函数来将缺少LastUse键的对象移动到底部?缺少值的PHP usort
在此之前没有另一个循环将LastUse设置为0值,我不完全确定实现它的最佳方式。
我会查看列表顶部排序的LastUse值,以及那些列表底部没有值的排序值。
usort($trackdata, function ($a, $b) {
return strtotime($b->LastUse) - strtotime($a->LastUse);
});
应该是这样的:
usort($trackdata, function ($a, $b) {
if (empty($a->LastUse) && empty($b->LastUse)) return 0;
if (empty($a->LastUse)) return -1;
if (empty($b->LastUse)) return 1;
return strtotime($b->LastUse) - strtotime($a->LastUse);
});
没有测试,所以如果他们swimp到顶部移动减号从第一行第二次改变自己的立场。
“忽略”究竟是什么意思,因为你重新排序元素? – zerkms
什么是排序数据? – Script47
根据您是否希望缺失值的元素出现在列表的末尾或开始处,只需在函数中有一个案例在缺失值时返回1或-1。 – iainn