1

Cakephp 1.3を使用しています。Set::sort() 関数を使用して配列をソートしようとしていますが、機能していません..これを行う方法について何か考えはありますか? 以下は、私が使用している配列です。

Array (
    [0] => Array
        (
            [Group] => Array
                (
                    [name] => Team A
                )

            [Members] => Array
                (
                    [0] => Array
                        (
                            [name] => George
                            [Code] => Array
                                (
                                    [name] => C
                                )

                        )

                    [1] => Array
                        (
                            [name] => Hall
                            [Code] => Array
                                (
                                    [name] => A
                                )

                        )

                    [2] => Array
                        (
                            [name] => Mike
                            [Code] => Array
                                (
                                    [name] => B
                                )

                        )

                )

        )

これを使用して配列をソートしています:

$data = Set::sort($data, '{n}.Members.{n}.Code.name', 'asc');

次のような出力を期待しています:

Array
(
    [0] => Array
        (
            [Group] => Array
                (
                    [name] => Team A
                )

            [Members] => Array
                (
                    [0] => Array
                        (
                            [name] => Hall
                            [Code] => Array
                                (
                                    [name] => A
                                )

                        )


                    [1] => Array
                        (
                            [name] => Mike
                            [Code] => Array
                                (
                                    [name] => B
                                )

                        )

                    [2] => Array
                        (
                            [name] => George
                            [Code] => Array
                                (
                                    [name] => C
                                )

                        )


                )

        )

並べ替えが有効になりません。どうすればよいですか? 何か案が?

4

1 に答える 1

1

実行できないことだけを使用しSet::sort()てください。あなたはこれをすることができます:

    $result =  array();
    foreach($a as $arr) {
        $res = Set::sort($arr['Member'], '{n}.Code.name', 'asc');
        $result[] = array(
                    'Group' => $arr['Group'],
                    'Member' => $res
                );            
    }
    pr($result);
于 2012-04-23T17:00:59.703 に答える