php 两个二维数组求和

在PHP开发中,经常需要对数组进行操作,其中求和操作也是常见的。当我们遇到两个二维数组需要进行求和时,可以通过以下几种方法来实现。

方法一:利用循环遍历每个元素,逐一进行相加求和。

示例代码如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

<?php

$array1 = array(

array(1, 2, 3),

array(4, 5, 6),

);

$array2 = array(

array(7, 8, 9),

array(10, 11, 12),

);

$rows = count($array1);

$cols = count($array1[0]);

$result = array();

for ($i = 0; $i < $rows; ++$i) {

for ($j = 0; $j < $cols; ++$j) {

$result[$i][$j] = $array1[$i][$j] + $array2[$i][$j];

}

}

print_r($result);

?>

登录后复制

输出结果:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

Array

(

[0] => Array

(

[0] => 8

[1] => 10

[2] => 12

)

[1] => Array

(

[0] => 14

[1] => 16

[2] => 18

)

)

登录后复制
登录后复制

方法二:利用array_map()函数来对每个元素进行相加求和,可以减少代码量。

示例代码如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

<?php

$array1 = array(

array(1, 2, 3),

array(4, 5, 6),

);

$array2 = array(

array(7, 8, 9),

array(10, 11, 12),

);

$result = array_map(function ($a, $b) {

return array_map(function ($x, $y) {

return $x + $y;

}, $a, $b);

}, $array1, $array2);

print_r($result);

?>

登录后复制

输出结果:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

Array

(

[0] => Array

(

[0] => 8

[1] => 10

[2] => 12

)

[1] => Array

(

[0] => 14

[1] => 16

[2] => 18

)

)

登录后复制
登录后复制

方法三:利用array_reduce()函数来进行二维数组元素求和。

示例代码如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

<?php

$array1 = array(

array(1, 2, 3),

array(4, 5, 6),

);

$array2 = array(

array(7, 8, 9),

array(10, 11, 12),

);

$result = array_map(function ($a) {

return array_reduce($a, function ($x, $y) {

return $x + $y;

});

}, array_map(null, $array1, $array2));

print_r($result);

?>

登录后复制

输出结果:

1

2

3

4

5

6

7

8

9

Array

(

[0] => 8

[1] => 10

[2] => 12

[3] => 14

[4] => 16

[5] => 18

)

登录后复制

以上三种方法可以根据实际需求进行选择,可以根据需要增加公式、函数、循环等细节来满足不同的计算需求。

以上就是php 两个二维数组求和的详细内容,更多请关注php中文网其它相关文章!

TG交流群(点击进入)----付费帮助搭建---修复---二开,以及发布求资源.
QQ交流群 922260178
© 版权声明
THE END
喜欢就支持一下吧
点赞1.7W+ 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容