按排序多维数组



我想按几个关键字对下面的多维数组进行排序——让我用一种简单的方式来解释。

这是我的多维数组的部分看起来像

[template] => Array
            (
                [0] => Array
                    (
                        [KeyA] => 123
                        [KeyB] => ABC
                        [KeyC] => #FFFFF
                        [custom] => Array
                            (
                                [0] => Array
                                    (
                                        [value] => bla
                                        [var] => 2
                                    )
                                [1] => Array
                                    (
                                        [value] => c1
                                        [var] => 5
                                    )
                            )
                    )
            )

在这个模板数组中有很多多维数组,我现在想让它们按键c (#00000 first prio, #FFFFFF second prio, #333333 third prio)排序,然后按键a字母排序。

怎么做?

PHP有几个处理数组排序的函数,数组排序背后的逻辑是:

  • 根据数组键进行排序,而另一些则根据值进行排序:$array['key'] = 'value';

  • 排序后是否保持键和值之间的相关性,这可能意味着键被数值重置(0,1,2…)

  • 排序顺序:字母顺序、从低到高(升序)、从高到低(降序)、数字、自然、随机或用户自定义

  • 如果这些排序函数中的任何一个计算两个成员相等,则排序顺序未定义(排序不稳定)。

注意:所有这些排序函数直接作用于数组变量本身,而不是返回一个新的排序数组。

排序的主要功能描述了http://www.php.net/manual/en/array.sorting.php,对于创建自定义排序,您必须使用最适合自己的技巧。

相关内容

  • 没有找到相关文章

最新更新