【问题标题】:php | Multidimensional array sorting [duplicate]php |多维数组排序
【发布时间】:2013-06-27 10:16:26
【问题描述】:

我有一个数组,需要排序(基于id):

Array
(
   [0] => Array
    (
        [qty] => 1
        [id] => 3
        [name] => Name1
        [sku] => Model 1
        [options] => 
        [price] => 100.00
    )
   [1] => Array
    (
        [qty] => 2
        [id] => 1
        [name] => Name2
        [sku] => Model 1
        [options] => Color: <em>Black (+10$)</em>. Memory: <em>32GB (+99$)</em>. 
        [price] => 209.00
    )

)

是否可以对我的数组进行排序以获得输出(基于 id)?

 Array
    (
    [0] => Array
      (
        [qty] => 2
        [id] => 1
        [name] => Name2
        [sku] => Model 1
        [options] => Color: <em>Black (+10$)</em>. Memory: <em>32GB (+99$)</em>. 
        [price] => 209.00
      ) 
    [1] => Array
      (
        [qty] => 1
        [id] => 3
        [name] => Name1
        [sku] => Model 1
        [options] => 
        [price] => 100.00
      )
 )

谢谢!

【问题讨论】:

标签: php arrays sorting usort


【解决方案1】:

试试看

$id_arr = array();
foreach ($my_arr as $key => $value)
{
    $id_arr[$key] = $value['id'];
}
array_multisort($id_arr, SORT_DESC, $my_arr);

您也可以将SORT_ASC 用于发送订单。最好将ORDER BY id 添加到您获取此结果数组的查询中

【讨论】:

    【解决方案2】:
    function cmp($a, $b) {
            return $a["id"] - $b["id"];
    }
    usort($arr, "cmp");//$arr is the array to sort
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-26
      • 1970-01-01
      • 1970-01-01
      • 2016-03-03
      相关资源
      最近更新 更多