0

私はCakePHPフレームワーク内で作業しており、値で並べ替える必要がある次の多次元配列があります。を使用しusortていますが、の子で並べ替える方法がわかりません[ForumPost]

配列は次のとおりです。

Array
( 
    [0] => Array
        (
            [ForumPost] => Array
                (
                    [id] => 174
                    [forum_id] => 81
                    [user_id] => 39
                    [title] => A test post
    [1] => Array
        (
            [ForumPost] => Array
                (
                    [id] => 64
                    [forum_id] => 208
                    [user_id] => 36
                    [title] => B test post
... etc

私の関数と呼び出しは次のとおりです。

usort($array, array("ForumSearchesController", "cmp"));

function cmp($a, $b) {
    return $a['ForumPost']['title'] - $b['ForumPost']['title'];
}
4

1 に答える 1

0

単純にタイトル (文字列) を互いに差し引いて、意味のある結果を期待することはできません。文字列に相当するのは、関数を呼び出すことですstrcmp:

function cmp($a, $b) {
    return strcmp($a['ForumPost']['title'], $b['ForumPost']['title']);
}
于 2013-03-11T13:54:14.720 に答える