按字母顺序排序多维数组不起作用?

时间:2012-06-04 14:03:22

标签: php usort

所以我有一个名为$ 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'
    )
);

我要做的是使用“type”按字母顺序对此数组进行排序。为此我使用usort()

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

问题是,这实际上并没有对数组进行排序......它所做的就是反转数组。完成后,我得到网站>媒体>线。如果我再次处理它,它会反转回Thread>媒体>网站。

最终结果应为Media>线程>网站。我错过了什么吗?为什么这不能正确排序?

1 个答案:

答案 0 :(得分:1)

试试这个,而不是:

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