【问题标题】:Array multi sorting 2 keys error [closed]数组多排序2键错误[关闭]
【发布时间】:2013-12-28 11:10:37
【问题描述】:

我在这里停留了一些 PHP 代码。我希望你能帮助我。 我只是对数组值进行排序的新手。所以..

我写了一些关于班级学生平均成绩的代码。但是在这里,当我很难按 desc 排序值 arsort() 他只是按 desc 排序键。 我该如何解决这个问题?

Array
(
    [11] => Array
        (
            [354] => 0
            [325] => 0
            [312] => 0
            [313] => 0
            [314] => 0
            [307] => 0
            [308] => 0
            [309] => 0
            [316] => 0
            [317] => 0
            [323] => 0
            [350] => 0
            [347] => 0
        )

    [6] => Array
        (
            [16] => 84.444444444447
            [7] => 57.777777777778
            [13] => 41.666666666667
            [12] => 31.111111111111
            [8] => 0
            [14] => 0
            [11] => 0
            [10] => 0
            [2] => 0
            [9] => 0
            [4] => 0
            [3] => 0
            [43] => 88.333333333335
            [41] => 81.666666666665
            [51] => 79.25925925926
            [44] => 76
            [53] => 73.333333333335
            [42] => 72
            [52] => 62.777777777777
            [54] => 51.851851851853
            [38] => 45
            [35] => 0
            [50] => 0
        )

)

他只是在整理钥匙。但我对这些价值观感到悲伤 arsort() 。无论如何,我的价值观怎么能做到。

我想按 desc 对值进行排序。

【问题讨论】:

  • google 对“按值 php 排序数组”怎么说?

标签: php sorting numbers key


【解决方案1】:

如果您需要对这个[354] => 0 [325] => 0 [312] => 0 [313] => 0 键进行排序,请使用此功能

function arraySort($array){
  $result = array();
  foreach ($array as $key => $value) {
    krsort($value);
    $result[$key] = $value;
  }
  return $result;
}

【讨论】:

  • 是的。我使用 arsort 进行值排序。谢谢。
【解决方案2】:

你可以试试 asort() 代替 arsort()。

见:http://php.net/asort#refsect1-function.asort-examples

【讨论】:

    猜你喜欢
    • 2021-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 2013-05-19
    • 1970-01-01
    • 2015-05-18
    相关资源
    最近更新 更多