> 백엔드 개발 > PHP 문제 > PHP는 두 개의 배열을 결합하고 합산합니다.

PHP는 두 개의 배열을 결합하고 합산합니다.

WBOY
풀어 주다: 2023-05-19 15:38:37
원래의
800명이 탐색했습니다.

PHP 개발에서 배열은 자주 사용되는 데이터 유형 중 하나입니다. 배열 병합은 일반적인 작업이지만 두 배열의 동일한 위치에 요소를 추가하고 합산해야 하는 경우 어떻게 구현합니까? 이 기사에서는 PHP에서 두 배열을 병합하고 합하는 작업을 구현하는 두 가지 방법을 소개합니다.

방법 1: for 루프 사용

첫 번째 방법은 for 루프를 사용하여 두 배열을 순회하고 "+" 연산자를 사용하여 동일한 위치에 요소를 추가하는 것입니다.

$arr1 = array(1, 2, 3, 4, 5);
$arr2 = array(2, 4, 6, 8, 10);

$new_arr = array();
for ($i = 0; $i < count($arr1); $i++) {
  $new_arr[$i] = $arr1[$i] + $arr2[$i];
}

print_r($new_arr);
로그인 후 복사

위 코드에서 $arr1 및 $arr2는 병합할 두 배열이고 $new_arr은 병합된 결과 배열입니다. for 루프는 두 배열을 순회하여 동일한 위치에 요소를 추가하고 결과를 $new_arr 배열에 저장합니다. 마지막으로 print_r 함수를 사용하여 결과를 인쇄합니다.

위 코드를 실행하면 출력 결과는 다음과 같습니다.

Array
(
    [0] => 3
    [1] => 6
    [2] => 9
    [3] => 12
    [4] => 15
)
로그인 후 복사
로그인 후 복사

방법 2: array_map 함수 사용

두 번째 방법은 array_map 함수를 사용하여 두 배열을 병합하고 합하는 것입니다. array_map 함수는 하나 이상의 배열에 있는 각 요소를 콜백 함수에 전달하고 이를 처리한 후 새 배열을 반환할 수 있습니다.

function sum($a, $b) {
  return $a + $b;
}

$arr1 = array(1, 2, 3, 4, 5);
$arr2 = array(2, 4, 6, 8, 10);

$new_arr = array_map('sum', $arr1, $arr2);

print_r($new_arr);
로그인 후 복사

위 코드에서는 sum이라는 함수를 정의하고 array_map 함수를 사용하여 $arr1 및 $arr2 배열의 각 요소에 sum 함수를 적용합니다. array_map 함수는 결과를 $new_arr 배열에 저장합니다.

위 코드를 실행하면 출력 결과는 다음과 같습니다.

Array
(
    [0] => 3
    [1] => 6
    [2] => 9
    [3] => 12
    [4] => 15
)
로그인 후 복사
로그인 후 복사

두 메서드 비교

위 두 메서드는 구현하기 어렵지 않으며 둘 다 동일한 효과를 얻을 수 있습니다. 그러나 대규모 배열을 처리할 때는 array_map 함수를 사용하는 것이 for 루프보다 훨씬 빠릅니다. array_map 함수는 PHP 내장 함수로, 대용량 데이터 처리 시 더 높은 효율성을 제공할 수 있도록 최적화되었습니다.

요약

PHP 개발에서 배열 병합은 일반적인 작업입니다. 두 배열의 동일한 위치에 요소를 추가하고 합산해야 하는 경우 for 루프나 array_map 함수를 사용하여 이를 달성할 수 있습니다. 전자는 코드가 간단하여 소량의 데이터에 적합하고, 후자는 대규모 배열 처리에 적합하며 효율성이 높다는 장점이 있습니다.

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

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿