PHP 使用缺失值进行排序
PHP usort with missing values
如何在此处操作 usort 函数以将缺少 LastUse 键的对象移动到底部?
在此之前没有另一个循环将 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);
});
没有测试,所以如果他们游到顶部,将减号从第一行移动到第二行以改变他们的位置。
如何在此处操作 usort 函数以将缺少 LastUse 键的对象移动到底部?
在此之前没有另一个循环将 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);
});
没有测试,所以如果他们游到顶部,将减号从第一行移动到第二行以改变他们的位置。