簡體   English   中英

在PHP中逐字段添加多維數組的最優雅方法是什么?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM