2010-01-29 14 views
1

我想補充兩個多維數組,這兩個同樣大小的,由場場。即:什麼是最優雅的方式通過實地的PHP加起來多維數組場?

$sum[4][3] = $a[4][3] + $b[4][3]; 

或者:

$a = array(array(1, 4), array(3, 2)); 
$b = array(array(9, 2), array(1, 0)); 

應導致:

$sum = array(array(10, 6), array(4, 2)); 

有沒有更優雅的方式比foreaching在所有的陣列?

+0

你爲什麼不喜歡foreaching? – artemb 2010-01-29 10:32:02

+0

這是優雅的問題... – 2010-02-01 12:20:35

回答

1

您可以使用函數array_map()這一個數組($ A你的情況)適用於每個元素的功能和應用的回調函數,這些,你可以通過提供其他額外的參數給這些函數數組($ b在你的情況)。結果將是你的例子的總和。

回調函數需要檢查參數是否爲數組,如果是,則需要再次執行映射函數(因此它是遞歸函數),如果參數不是需要添加函數的數組。

http://nl3.php.net/manual/en/function.array-map.php

所以,這一切的一切你會掉好多做一個嵌套的foreach :)

相關問題