2017-02-09 49 views
-2

请让我知道如何排序数组与一列line_total降序格式。我想要line_total降序格式的数组bcoz我想要显示数据上限销售。所以请帮助我。我如何排序数组在PHP中

Array 
(
    [totalusers] => 1 
    [TranReport] => Array 
     (
      [start] => 01-01-2017 
      [end] => 31-12-2017 
     ) 

    [webhits] => 794 
    [paypal] => Yes 
    [cash] => No 
    [Transactions] => Array 
     (
      [0] => Array 
       (
        [order_date] => 03-02-2017 
        [customer_name] => Mohsin khan 
        [payment_method] => PayPal 
        [product_list] => Array 
         (
          [0] => Array 
           (
            [product_name] => USB Cable – Iphone → 1M USB Cable - Iphone 
            [qty] => 1 
            [line_total] => 9 
           ) 

          [1] => Array 
           (
            [product_name] => USB Cable – Iphone → 2M USB Cable - Iphone 
            [qty] => 2 
            [line_total] => 24 
           ) 

         ) 

        [quantity] => 3 
        [order_currency] => USD 
        [order_total] => 48.00$ 
        [new_total] => 48.00 
       ) 

      [1] => Array 
       (
        [order_date] => 09-01-2017 
        [customer_name] => Mohsin khan 
        [payment_method] => PayPal 
        [product_list] => Array 
         (
          [0] => Array 
           (
            [product_name] => AA USB Charger 
            [qty] => 1 
            [line_total] => 15 
           ) 

          [1] => Array 
           (
            [product_name] => Car Charger - Dual USB - Low Profile 
            [qty] => 1 
            [line_total] => 15 
           ) 

          [2] => Array 
           (
            [product_name] => Mister Hose → 20m Mister Hose 
            [qty] => 1 
            [line_total] => 20 
           ) 

         ) 

        [quantity] => 3 
        [order_currency] => USD 
        [order_total] => 50.00$ 
        [new_total] => 50.00 
       ) 

      [2] => Array 
       (
        [order_date] => 07-01-2017 
        [customer_name] => Mohsin khan 
        [payment_method] => PayPal 
        [product_list] => Array 
         (
          [0] => Array 
           (
            [product_name] => Quick Charge V3 - Dual USB - Car Charger 
            [qty] => 1 
            [line_total] => 15 
           ) 

          [1] => Array 
           (
            [product_name] => Car Charger - Dual USB - Low Profile 
            [qty] => 1 
            [line_total] => 15 
           ) 

          [2] => Array 
           (
            [product_name] => Mister Hose → 20m Mister Hose 
            [qty] => 1 
            [line_total] => 20 
           ) 

         ) 

        [quantity] => 1 
        [order_currency] => USD 
        [order_total] => 15.00$ 
        [new_total] => 15.00 
       ) 

     ) 

    [deliveytotal] => 0 
) 
+0

我认为这会帮助你: http://stackoverflow.com/questions/2699086/sort-multi维数组的价值 –

+0

http://php.net/manual/en/function.array-multisort.php – Mohammad

+0

我并不真正了解更低价销售的含义,而是来自数据库的这一结果?如果是的话,那么你可以通过sql来进行排序。 – bugscoder

回答

0

您需要使用usort函数http://php.net/manual/en/function.uksort.php。其余的就是我的,你想达到什么样的解释 - 在产品的line_total总和排序交易

$array = []; //your array 

function sumLinesTotal($product_list) { 
    return array_sum(array_map($product_list, function($product){ 
     return $product['line_total']; 
    }); 
} 

usort($array['Transactions'], function ($a, $b) { 
    return sumLinesTotal($a) < sumLinesTotal($b); 
});