PHP jumlah dua tatasusunan dua dimensi

PHPz
Lepaskan: 2023-05-19 18:32:37
asal
1122 orang telah melayarinya

Dalam pembangunan PHP, selalunya diperlukan untuk beroperasi pada tatasusunan, dan operasi penjumlahan juga biasa. Apabila kita menghadapi dua tatasusunan dua dimensi yang perlu dijumlahkan, kita boleh melakukannya dengan cara berikut.

Kaedah 1: Gunakan gelung untuk melintasi setiap elemen dan tambahkannya satu demi satu.

Kod sampel adalah seperti berikut:

<?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);
?>
Salin selepas log masuk

Hasil output:

Array
(
    [0] => Array
        (
            [0] => 8
            [1] => 10
            [2] => 12
        )

    [1] => Array
        (
            [0] => 14
            [1] => 16
            [2] => 18
        )

)
Salin selepas log masuk
Salin selepas log masuk

Kaedah 2: Gunakan fungsi array_map() untuk menambah dan menjumlahkan setiap elemen, yang boleh mengurangkan jumlah kod.

Kod sampel adalah seperti berikut:

<?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);
?>
Salin selepas log masuk

Hasil keluaran:

Array
(
    [0] => Array
        (
            [0] => 8
            [1] => 10
            [2] => 12
        )

    [1] => Array
        (
            [0] => 14
            [1] => 16
            [2] => 18
        )

)
Salin selepas log masuk
Salin selepas log masuk

Kaedah 3: Gunakan fungsi array_reduce() untuk menjumlahkan elemen tatasusunan dua dimensi.

Kod sampel adalah seperti berikut:

<?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);
?>
Salin selepas log masuk

Hasil keluaran:

Array
(
    [0] => 8
    [1] => 10
    [2] => 12
    [3] => 14
    [4] => 16
    [5] => 18
)
Salin selepas log masuk

Tiga kaedah di atas boleh dipilih mengikut keperluan sebenar, dan butiran seperti formula, fungsi, gelung, dsb. boleh ditambah mengikut keperluan.

Atas ialah kandungan terperinci PHP jumlah dua tatasusunan dua dimensi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan