代码之家  ›  专栏  ›  技术社区  ›  Christian Studer delphist

在PHP中,逐字段添加多维数组最优雅的方法是什么?

  •  1
  • Christian Studer delphist  · 技术社区  · 15 年前

    我试图将两个多维数组相加,两个数组大小相同,一个字段接一个字段。即。:

    $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));
    

    1 回复  |  直到 15 年前
        1
  •  1
  •   Thirler    15 年前

    您可以使用函数array_map()这将函数应用于数组中的每个元素(在您的示例中为a)并将回调函数应用于这些元素,您可以通过提供另一个数组(在您的示例中为b)为这些函数提供额外的参数。结果将是示例的$sum。

    回调函数需要检查参数是否为数组,如果是,则需要再次执行映射函数(因此它是一个递归函数),如果参数不是数组,则需要添加函数。

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