[英]What's the most elegant way to enumerate keys on a multidimensional PHP array from the value of a contained element's key?
[英]What's the most elegant way to add up multidimensional arrays field by field in 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));
是否有比遍歷所有數組更優雅的方法?
您可以使用函數array_map()將此函數應用於數組中的每個元素(以您的情況為$ a),並將回調函數應用於這些元素,可以通過提供另一個數組($ b)為這些函數提供額外的參數在您的情況下)。 結果將是您的示例的$ sum。
回調函數將需要檢查參數是否為數組,如果是,則需要再次執行映射函數(因此是遞歸函數),如果參數不是數組,則需要添加該函數。
http://nl3.php.net/manual/en/function.array-map.php
所以總的來說,做一個嵌套的foreach會更好:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.