本文介绍了在不知道现有尺寸的情况下动态地对数组进行排序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我知道ksort()用于按对数组进行排序.我的数组的最大尺寸总是不同的.有时是2维,有时是5维,有时是10维,那么如何使用ksort()进行动态排序而又不知道其中有多少维?

I know that ksort() is used to sort array by keys. The max dimension of my array always differs. Sometime 2, sometimes 5, sometime 10 dimensional so how do I use ksort() to do sorting dynamically without knowing how many dimensions exist in it?

谢谢

示例数组

[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] =>
                                )
                        )

推荐答案

如果您要对递归进行排序:

If you mean you want to sort recursive:

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

这篇关于在不知道现有尺寸的情况下动态地对数组进行排序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-21 20:30