0

配列をキーksort()でソートするために使用されることを知っています。私の配列の最大次元は常に異なります。時には 2 次元、時には 5 次元、時には 10 次元の場合、いくつの次元が存在するかを知らずに動的に並べ替えを行うにはどうすればよいでしょうか?ksort()

ありがとう

例の配列

[2010] => Array
        (
            [3] => Array
                (
                    [B] => Array
                        (
                            [6] => Array
                                (
                                    [Patato] => 
                                )

                            [C] => Array
                                (
                                    [Patato] => 
                                    [Zozo] => 
                                )
                        )

                    [A] => Array
                        (
                            [F] => Array
                                (
                                    [Tomato] => 
                                    [Apple] => 
                                    [Kiwi] => 
                                )
                        )

            [1] => Array
                (
                    [4] => Array
                        (
                            [A] => Array
                                (
                                    [Orange] => 
                                )
                        )
4

1 に答える 1

2

再帰的にソートしたい場合:

function deep_ksort(&$arr) {
    ksort($arr);
    foreach ($arr as &$a) {
        if (is_array($a) && !empty($a)) {
            deep_ksort($a);
        }
    }
} 

これはhttp://www.php.net/manual/en/function.ksort.php#105399から来ています

于 2012-11-13T12:07:13.307 に答える