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 回答