>  기사  >  백엔드 개발  >  PHP에서 2차원 배열을 합산하기 위해 array_sum을 사용합니까?

PHP에서 2차원 배열을 합산하기 위해 array_sum을 사용합니까?

青灯夜游
青灯夜游원래의
2022-09-21 19:58:312245검색

2차원 배열 합을 구현하기 위해 array_sum()을 사용하려는 경우 array_sum() 함수는 1차원 배열만 처리하기 때문에 array_sum()만 사용하여 PHP에서 2차원 배열을 합산할 수 없습니다. 또한 foreach 문 구문을 사용해야 합니다. " $sum=0;foreach($arr as $v){if(is_array($v)){$sum+=array_sum($v);}else{$sum+= $v;}}".

PHP에서 2차원 배열을 합산하기 위해 array_sum을 사용합니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 8.1, DELL G3 컴퓨터

PHP 2차원 배열은 array_sum()만으로는 합산할 수 없습니다.

원인: array_sum() 함수는 1차원 배열만 처리하며 다차원 배열에는 유효하지 않습니다.

<?php
header("Content-type:text/html;charset=utf-8");
$arr = array(1,2,3,array(4,5,6),7,8,array(9,10)); 
var_dump($arr);
$sum=array_sum($arr);
echo "二维数组的和为:".$sum;
?>

PHP에서 2차원 배열을 합산하기 위해 array_sum을 사용합니까?

계산 결과가 명백히 틀렸습니다. 외부 요소의 합만 계산한 것입니다.

PHP에서 2차원 배열을 합산하기 위해 array_sum을 사용합니까?

그렇다면 array_sum() 함수를 사용하여 2차원 배열 요소의 합을 계산하는 방법은 무엇일까요?

해결책: array_sum() 함수 + foreach 문

Summing steps

1단계. foreach 문을 사용하여 2차원 배열의 외부 배열 요소를 반복합니다.

foreach($arr as $v){
//循环体代码
}
  • Traverse 특정 $arr 배열에 현재 외부 배열의 값을 각 루프의 $v에 할당합니다.

2단계. 루프 본문에서 is_array() 함수를 사용하여 외부 요소가 배열 유형인지 확인하고 "+=" 연산자를 사용하여

  • 합산합니다. 배열형이면 외부 요소를 더하고 합산하지 않습니다

  • 배열형인 경우 array_sum() 함수를 사용하여 내부 배열에 있는 모든 요소의 합을 계산하고, 이를 합계에 더합니다. 외부 요소.

if(is_array($v)){
	$sum+=array_sum($v);
}else{
	$sum+=$v;
}

구현 코드:

function f($arr){
	$sum=0;
	foreach($arr as $v){
		if(is_array($v)){
			$sum+=array_sum($v);
		}else{
			$sum+=$v;
		}
	}
	echo "二维数组的和为:".$sum."<br>";
}

위 함수 호출

$arr = array(1,2,3,array(4,5,6),7,8,array(9,10)); 
var_dump($arr);
f($arr);

PHP에서 2차원 배열을 합산하기 위해 array_sum을 사용합니까?

$arr = array(array(2,4,6),array(8,10,12)); 
var_dump($arr);
f($arr);

PHP에서 2차원 배열을 합산하기 위해 array_sum을 사용합니까?

추천 학습: "PHP 비디오 튜토리얼"

위 내용은 PHP에서 2차원 배열을 합산하기 위해 array_sum을 사용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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