>백엔드 개발 >PHP 튜토리얼 >다차원 PHP 배열의 열 값을 합산하는 방법은 무엇입니까?

다차원 PHP 배열의 열 값을 합산하는 방법은 무엇입니까?

DDD
DDD원래의
2024-12-27 09:40:12503검색

How to Sum Columnar Values in Multi-Dimensional PHP Arrays?

다차원 배열에 열 형식 값 추가

다양한 키 세트가 포함된 다차원 배열의 특정 키와 연관된 값의 합을 계산하려고 합니다. 다음 입력을 고려하세요.

Array
(
    [0] => Array
        (
            [gozhi] => 2
            [uzorong] => 1
            [ngangla] => 4
            [langthel] => 5
        )

    [1] => Array
        (
            [gozhi] => 5
            [uzorong] => 0
            [ngangla] => 3
            [langthel] => 2
        )

    [2] => Array
        (
            [gozhi] => 3
            [uzorong] => 0
            [ngangla] => 1
            [langthel] => 3
        )
)

원하는 결과는 다음과 같습니다.

Array
(
    [gozhi] => 10
    [uzorong] => 1
    [ngangla] => 8
    [langthel] => 10
)

이를 달성하려면 다음 접근 방식을 고려하세요.

array_walk_recursive()

일반적인 경우 솔루션의 경우 다음을 사용합니다. array_walk_recursive():

$final = array();

array_walk_recursive($input, function($item, $key) use (&$final){
    $final[$key] = isset($final[$key]) ?  $item + $final[$key] : $item;
});

array_column()

특정 키(예: "gozhi")의 경우 array_column()을 사용하세요(PHP 5.5부터 사용 가능):

array_sum(array_column($input, 'gozhi'));

동일한 배열의 경우 키

모든 내부 배열에 동일한 키가 있는 경우:

$final = array_shift($input);

foreach ($final as $key => &$value){
   $value += array_sum(array_column($input, $key));
}    

unset($value);

array_column()을 사용하는 일반 사례 솔루션

모든 고유 키를 가져온 다음 각각의 합계:

$final = array();

foreach($input as $value)
    $final = array_merge($final, $value);

foreach($final as $key => &$value)
    $value = array_sum(array_column($input, $key));

unset($value);

위 내용은 다차원 PHP 배열의 열 값을 합산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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