如何在這裏操作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