>  기사  >  백엔드 개발  >  두 개의 2차원 배열의 PHP 합

두 개의 2차원 배열의 PHP 합

PHPz
PHPz원래의
2023-05-19 18:32:371110검색

PHP 개발에서는 배열을 연산해야 하는 경우가 많으며 합산 연산도 일반적입니다. 합산이 필요한 두 개의 2차원 배열을 만나면 다음과 같은 방법으로 이를 수행할 수 있습니다.

방법 1: 루프를 사용하여 각 요소를 탐색하고 하나씩 추가합니다.

샘플 코드는 다음과 같습니다.

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

출력 결과:

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

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

)

방법 2: array_map() 함수를 사용하여 각 요소를 더하고 합산하면 코드 양을 줄일 수 있습니다.

샘플 코드는 다음과 같습니다.

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

출력 결과:

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

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

)

방법 3: array_reduce() 함수를 사용하여 2차원 배열의 요소를 합산합니다.

샘플 코드는 다음과 같습니다.

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

출력 결과:

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

위의 세 가지 방법은 실제 필요에 따라 선택할 수 있으며, 필요에 따라 수식, 함수, 루프 등의 세부 사항을 추가하여 다양한 요구 사항을 충족할 수 있습니다. 계산이 필요합니다.

위 내용은 두 개의 2차원 배열의 PHP 합의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.