2016-07-12 5 views
1

人は多次元配列で(+,-,*,/)の間で計算することは可能ですか?多次元配列でデータを計算する方法

例私はこの次のコードで$menu_infoで多次元配列を持っている:

array(3) { 
    [0]=> 
    array(5) { 
    ["menu_order_id"]=> 
    string(3) "190" 
    ["menu_name"]=> 
    string(13) "Golden Salmon" 
    ["menu_variant"]=> 
    string(0) "" 
    ["qty"]=> 
    string(1) "1" 
    ["price"]=> 
    string(4) "15.4" 
    } 
    [1]=> 
    array(5) { 
    ["menu_order_id"]=> 
    string(3) "191" 
    ["menu_name"]=> 
    string(13) "Golden Salmon" 
    ["menu_variant"]=> 
    string(0) "" 
    ["qty"]=> 
    string(1) "1" 
    ["price"]=> 
    string(4) "15.4" 
    } 
    [2]=> 
    array(5) { 
    ["menu_order_id"]=> 
    string(3) "192" 
    ["menu_name"]=> 
    string(13) "Golden Salmon" 
    ["menu_variant"]=> 
    string(0) "" 
    ["qty"]=> 
    string(1) "1" 
    ["price"]=> 
    string(4) "15.4" 
    } 
} 

私は数学演算子を使用して多次元配列をカウントする方法price*qty (15*1)+(15*1)+(15*1)ような連中のすべてを計算しようとしていたいですか?

は(どうもありがとうございました:配列の長さを変更することができ

PSを

+0

http://stackoverflow.com/questions/16138395/sum-values-of-multidimensional-array-by-without-loop –

答えて

1

あなたがこの試すことができます。あなたの特定の問題のいくつかのより多くの説明を

$sum = array_sum(array_map(function($item) { 
    return $item['price']*$item['qty']; 
}, $menu_info)); 

を、私はしてもよいです

+0

をご覧ください。どの部分をもっと説明する必要がありますか?私の配列は '$ menu_info'にあります – Kelvin

+0

ありがとう! – Kelvin

+0

あなたがそれをマークしますが、1分後に – Kelvin