我应该如何用usort键对这个数组进行排序?

Dɑv*_*vïd 5 php arrays key usort multidimensional-array

我想我可能已经阅读usort过StackOverflow上的每篇文章,但我无法解决这个问题.这可能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
        )
)
Run Code Online (Sandbox Code Playgroud)

我最终试图对created_on价值进行分类,但就目前而言,我决定能够对它们中的任何一个进行排序!当我尝试普通cmp($a, $b)类型回调时usort- 例如,在这个问题的答案中 - 我只是得到一个空白.例:

function cmp($a, $b) {
  return strcmp($a["slug"], $b["slug"]);
}
usort($allPages, 'cmp')
Run Code Online (Sandbox Code Playgroud)

print_r没有给我什么.这是PHP 5.2.n,而不是5.3 btw.

指导,好吗?谢谢你!

Kel*_*lly 4

数组中的项目是对象,而不是关联数组,因此您需要像这样引用它们:

function cmp($a, $b) {
  return strcmp($a->slug, $b->slug);
}
usort($allPages, 'cmp')
Run Code Online (Sandbox Code Playgroud)