我想我可能已经阅读了 StackOverflow 上的所有 usort
文章,但我无法理解这篇文章。可能 usort
不是我需要的工具?这是我正在使用的一些数组(我已将其分配给 $allPages
):
Array
(
[0] => Page Object
(
[id] => 4
[slug] => articles
[created_on] => 2009-08-06 07:16:00
)
[1] => Page Object
(
[id] => 99
[slug] => a-brief-history
[created_on] => 2011-04-25 12:07:26
)
[2] => Page Object
(
[id] => 98
[slug] => we-arrive
[created_on] => 2011-04-24 13:52:35
)
[3] => Page Object
(
[id] => 83
[slug] => new-year
[created_on] => 2011-01-02 14:05:12
)
)
我正在尝试最终对 created_on
值进行排序,但目前,我决定能够对其中任何一个进行排序!当我使用 usort
尝试正常的 cmp($a, $b)
类型回调时——例如,在 this answer on a usort question 中-- 我只是一片空白。示例:
function cmp($a, $b) {
return strcmp($a["slug"], $b["slug"]);
}
usort($allPages, 'cmp')
print_r
什么也没给我。这是 PHP 5.2.n,不是 5.3 顺便说一句。
请指导?谢谢你!
最佳答案
数组中的项目是对象,而不是关联数组,因此您需要像这样引用它们:
function cmp($a, $b) {
return strcmp($a->slug, $b->slug);
}
usort($allPages, 'cmp')
关于php - 我应该如何使用 usort 按键对这个数组进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5915682/