> 백엔드 개발 > PHP 문제 > PHP에서 두 배열의 요소를 합하는 방법

PHP에서 두 배열의 요소를 합하는 방법

PHPz
풀어 주다: 2023-04-26 11:17:30
원래의
753명이 탐색했습니다.

PHP에서는 때때로 두 배열의 요소를 합산해야 할 때가 있는데, 두 배열의 길이가 다를 수 있습니다. 이 기사에서는 이 목표를 달성하는 두 가지 방법을 소개합니다.

방법 1: for 루프 사용

이 방법은 for 루프를 사용하여 배열 요소를 하나씩 반복하고 해당 위치에 요소를 추가하여 새 배열에 저장하고 마지막으로 새 배열을 반환합니다. 코드는 다음과 같습니다:

function sumArrays($arr1, $arr2) {
    $n1 = count($arr1);
    $n2 = count($arr2);

    $n = max($n1, $n2);
    $result = array();

    for ($i = 0; $i < $n; $i++) {
        $sum = 0;
        if ($i < $n1) {
            $sum += $arr1[$i];
        } 
        if ($i < $n2) {
            $sum += $arr2[$i];
        }
        array_push($result, $sum);
    }
    return $result;
}
로그인 후 복사

여기서 두 배열 $n1$ 및 $n2$의 길이를 각각 계산한 다음 최대값 $n$을 새 배열의 길이로 사용합니다.

다음으로 for 루프에서는 먼저 $sum$을 0으로 정의한 다음 현재 인덱스 $i$가 $n1$ 또는 $n2$보다 작은지 확인합니다. 그렇다면 해당 위치에 요소를 추가합니다. $sum$ 중간으로. 마지막으로 $sum$을 새 배열에 저장하고 결과를 반환합니다.

방법 2: array_map() 함수 사용

이 방법은 PHP의 array_map() 함수와 익명 함수를 사용합니다. array_map() 함수는 두 배열에 해당하는 요소를 익명 함수의 인수로 전달한 다음 이를 추가하고 새 배열을 반환합니다. 코드는 다음과 같습니다.

function sumArrays($arr1, $arr2) {
    $n1 = count($arr1);
    $n2 = count($arr2);

    $n = max($n1, $n2);
    $result = array_map(function($a, $b) {
        return $a + $b;
    }, array_pad($arr1, $n, 0), array_pad($arr2, $n, 0));
    
    return $result;
}
로그인 후 복사

먼저 count() 함수를 사용하여 두 배열의 길이 $n1$ 및 $n2$를 계산한 다음 최대값 $n$을 가져옵니다.

그런 다음 array_pad() 함수를 사용하여 두 배열을 동일한 길이로 채웁니다. 배열 중 하나가 다른 배열보다 길면 빈 공간을 0으로 채웁니다.

다음으로 array_map() 함수와 익명 함수를 호출하여 채워진 두 배열을 매개변수로 전달합니다. 익명 함수는 두 개의 해당 요소를 추가하고 결과를 반환합니다. 마지막으로 $result$를 반환합니다.

이 방법은 더 간결해 보이고 내장 함수를 사용하지만 대규모 배열을 처리할 때는 첫 번째 방법보다 속도가 느릴 수 있습니다.

요약

이 기사에서는 PHP에서 두 배열 요소를 합산하는 두 가지 방법을 소개합니다. 방법 1은 for 루프를 사용하고, 방법 2는 PHP 내장 함수 array_map()을 사용합니다. 두 가지 방법 모두 장단점이 있으므로 각자의 필요에 따라 적절한 방법을 선택하시면 됩니다.

위 내용은 PHP에서 두 배열의 요소를 합하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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