0

所以我有一个名为 $links 的数组

array(
    [0] = array(
        'type' => 'thread'
        'url' => 'blah blah blah'
    ),
    [1] = array(
        'type' => 'media'
        'url' => 'blah blah blah'
    ),
    [2] = array(
        'type' => 'website'
        'url' => 'blah blah blah'
    )
);

我想做的是使用“类型”按字母顺序对这个数组进行排序。为此,我正在使用usort()

usort($links, create_function('$b, $a', 'return $a["type"] - $b["type"];'));

问题是,这实际上并不是对数组进行排序......它所做的只是反转数组。运行后,我得到网站 > 媒体 > 线程。如果我再次处理它,它会返回到线程 > 媒体 > 网站。

最终结果应该是媒体 > 主题 > 网站。我错过了什么吗?为什么这不能正确排序?

4

1 回答 1

1

试试这个,而不是:

usort($links, create_function('$a, $b', 'return strcmp($a["type"], $b["type"]);'));
于 2012-06-04T14:05:40.340 回答