【问题标题】:Sorting an array by values, then by keys preserving values按值排序数组,然后按保留值的键
【发布时间】:2012-08-09 22:59:10
【问题描述】:

这是我的数组:

   [2] => Array
            (
                [2012-08-13 10:56:37] => Array
                    (
                        [5] => 5.4E-7
                    )

                [2012-08-13 10:57:36] => Array
                    (
                        [4] => 2.1E-7
                    )

                [2012-08-13 10:54:00] => Array
                    (
                        [6] => 0
                    )

                [2012-08-13 10:53:17] => Array
                    (
                        [3] => 0
                    )

                [2012-08-13 10:54:42] => Array
                    (
                        [0] => 0
                    )

            )

日期,内部键和值。 这就是我想要的,按日期键内的值排序,然后按日期排序。

它已经按值排序,如您所见 - desc,但如果我对日期进行排序,我会丢失为值所做的 desc 排序,我希望先更新日期(desc),但如果值在数组然后在排序期间忽略较新的日期。

【问题讨论】:

  • foreach,(或任何循环),递归......你可以通过多种方式做到这一点......但我认为你存储日期的方式会让你更容易。

标签: php arrays multidimensional-array sorting


【解决方案1】:

使用ksort();它按键对数组进行排序。

示例:

$test =  Array
         (
                [2012-08-13 10:56:37] => Array
                    (
                        [5] => 5.4E-7
                    )

                [2012-08-13 10:57:36] => Array
                    (
                        [4] => 2.1E-7
                    )
          )

ksort($test);
foreach ($test as $key => $val) {
    echo "$key = $val\n";
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-17
    • 1970-01-01
    • 2016-11-03
    • 1970-01-01
    • 1970-01-01
    • 2016-07-04
    • 2023-03-30
    • 1970-01-01
    相关资源
    最近更新 更多