2017-02-26 4 views
0

これは私のPHPコードで使用する配列の簡単な例です。元の配列はクエリによって自動的に埋められます。PHPは同じ行の別の普通の項目で配列内の項目を合計します

私は同じ「果物」インデックスを持つ異なる行のすべての「数字」インデックスを合計する簡単な方法を探しています。たとえば、「オレンジ」を数えたい場合、結果として「2」+「4」=「6」が得られます。

$fruit = array("Banana", "Apple", "Banana", "Orange", "Orange"); 
$number = array("5", "3", "7", "2", "4"); 

$i = 0; 

while($i < 5) { 
    $myArray[$i] = array("fruit" => $fruit[$i], "number" => $number[$i]); 
    $i++; 
} 

答えて

1
function sum($res, $item){ 
    $key = $item['fruit']; 
    if(!array_key_exists($key, $res)){ 
     $res[$key] = 0; 
    } 
    $res[$key] += $item['number']; 
    return $res; 
} 

print_r(array_reduce($myArray, "sum", array())); 

利回り

Array 
(
    [Banana] => 12 
    [Apple] => 3 
    [Orange] => 6 
) 
+0

これは私が探していたものです。ありがとう。 – Ahmet

+0

最初に配列を結合しましたか?もしそうなら、将来の参照のためにあなたの答えを更新してください。 –

+0

これは私が望むのとまったく同じですが、望む結果を生む前にインデックスごとに未定義のインデックスエラーがスローされます。 – Ahmet

関連する問題