【问题标题】:How do i sort multidimension array in PHP?如何在 PHP 中对多维数组进行排序?
【发布时间】:2009-12-15 06:48:18
【问题描述】:

我有类似的数组

Array ( 
     [608665839] => Array ( [score] => 2 ) 
     [1756044141] => Array ( [score] => 5 ) 
     [523536777] => Array ( [score] => 2 ) 
)

我想按分数来计算这个数组。我该怎么办?

【问题讨论】:

标签: php arrays sorting


【解决方案1】:

我会使用uasort

【讨论】:

    【解决方案2】:

    我认为[uasort()]1 函数有助于对array() 进行排序

    如果是多个数组,则使用array_[multisort()]2 函数

    【讨论】:

      【解决方案3】:

      来自 PHP.net:

      <?php
          function order_array_num ($array, $key, $order = "ASC")
          {
              $tmp = array();
              foreach($array as $akey => $array2)
              {
                  $tmp[$akey] = $array2[$key];
              }
      
              if($order == "DESC")
              {arsort($tmp , SORT_NUMERIC );}
              else
              {asort($tmp , SORT_NUMERIC );}
      
              $tmp2 = array();       
              foreach($tmp as $key => $value)
              {
                  $tmp2[$key] = $array[$key];
              }       
      
              return $tmp2;
          }
      ?>
      

      $order = "ASC" 将按升序对数组进行排序,而 $order = "DESC" 将按降序对数组进行排序。

      希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-07-02
        • 1970-01-01
        • 2019-11-26
        • 1970-01-01
        • 1970-01-01
        • 2016-09-27
        相关资源
        最近更新 更多