PHP에서 1차원 배열의 값을 합하는 방법

PHPz
풀어 주다: 2023-04-23 19:45:43
원래의
796명이 탐색했습니다.

PHP에서 배열은 매우 일반적으로 사용되는 데이터 유형이며 배열에 지정된 값의 합계 연산도 일반적인 요구 사항 중 하나입니다. 이 기사에서는 PHP를 사용하여 1차원 배열의 값을 합하는 방법을 소개하고 몇 가지 관련 예제를 참조로 제공합니다.

1. array_reduce 함수를 사용하여 합산 구현

array_reduce 함수는 배열의 모든 요소를 ​​줄일 수 있으며, 축소 방법은 직접 정의할 수 있습니다. 배열의 특정 속성을 합산해야 하는 경우 해당 속성을 축소 작업의 매개변수로 사용할 수 있습니다. 구체적인 구현은 다음과 같습니다.

$numbers = array(10, 20, 30, 40, 50);
$sum = array_reduce($numbers, function($carry, $item) {
    return $carry + $item;
}, 0);
echo "数组总和为:" . $sum;
로그인 후 복사

위 코드에서는 먼저 $numbers 배열을 정의합니다. , 그리고 array_reduce 함수를 사용하여 합계 연산을 수행합니다. 감소 작업 중에 $carry 변수를 사용하여 마지막 감소 이후의 결과를 저장하고 $item 변수는 현재 요소의 값을 나타냅니다. 이 경우 축소 연산은 단순 덧셈 연산이며, 0은 첫 번째 축소 연산의 초기값을 나타낸다. $numbers,并使用 array_reduce 函数对其进行求和操作。在缩减操作中,我们使用 $carry 变量来保存上次缩减后的结果,而 $item 变量则表示当前元素的值。在本例中,缩减操作就是简单的加法操作,0 则表示第一次缩减操作的初始值。

运行上述代码,我们可以得到如下结果:

数组总和为:150
로그인 후 복사
로그인 후 복사

上述实例演示了如何使用 array_reduce 函数求解一维数组中元素的总和。但如果我们要对一维数组中某一属性进行求和,该怎样实现呢?这时,可以将一个回调函数作为缩减操作的参数,在回调函数中对缩减属性进行筛选和相加操作。具体实现如下:

$students = array (
    "Tom" => array("age" => 23, "score" => 80),
    "Jerry" => array("age" => 22, "score" => 90),
    "Mickey" => array("age" => 23, "score" => 85)
);

$sum = array_reduce($students, function($carry, $item) {
    return $carry + $item['score'];
}, 0);
echo "学生成绩总分为:" . $sum;
로그인 후 복사

上述代码中,我们定义了一个学生信息的数组 $students,其中每个元素由一个姓名、年龄和分数组成。我们使用 array_reduce 函数以及一个回调函数对每个学生元素的分数进行累加,从而得到学生成绩的总分数。

运行上述代码,我们可以得到如下结果:

学生成绩总分为:255
로그인 후 복사
로그인 후 복사

通过以上实例可以看出,使用 array_reduce 函数可以灵活地实现对一维数组中某一属性的求和操作。

二、使用 foreach 循环实现求和

和 array_reduce 函数相比,PHP 中还可以通过常规的 foreach 循环来实现对一维数组中某一属性的求和。具体实现如下:

$students = array (
    "Tom" => array("age" => 23, "score" => 80),
    "Jerry" => array("age" => 22, "score" => 90),
    "Mickey" => array("age" => 23, "score" => 85)
);

$sum = 0;
foreach ($students as $student) {
    $sum += $student['score'];
}
echo "学生成绩总分为:" . $sum;
로그인 후 복사

这里的实现比较简单,就是使用 foreach 循环依次遍历数组中的所有元素,并对每个元素的分数进行累加,最终得到学生成绩的总分数。

运行上述代码,我们可以得到如下结果:

学生成绩总分为:255
로그인 후 복사
로그인 후 복사

由此可见,使用 foreach 循环也是一种常见的实现方式,尤其适合处理较小的数组。

三、使用 array_sum 函数实现求和

除了 array_reduce 函数之外,PHP 中还提供了一个专门用来求解数组元素和的 array_sum 函数。这个函数非常简单,直接将数组作为参数并返回其元素总和即可,具体实现如下:

$numbers = array(10, 20, 30, 40, 50);
$sum = array_sum($numbers);
echo "数组总和为:" . $sum;
로그인 후 복사

上述代码中,我们调用 array_sum 函数对数组 $numbers

위 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.

数组总和为:150
로그인 후 복사
로그인 후 복사
위 예에서는 array_reduce 함수를 사용하여 1차원 배열의 요소 합계를 구하는 방법을 보여줍니다. 하지만 1차원 배열의 속성을 합산하려면 어떻게 해야 할까요? 이때 축소 연산의 매개변수로 콜백 함수를 사용할 수 있으며, 축소 속성을 필터링하여 콜백 함수에 추가할 수 있다. 구체적인 구현은 다음과 같습니다.

rrreee

위 코드에서는 각 요소가 이름, 나이 및 점수로 구성된 학생 정보 $students 배열을 정의합니다. array_reduce 함수와 콜백 함수를 사용하여 각 학생 요소의 점수를 누적하여 학생 성적의 총점을 구합니다.

위 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.

rrreee

위의 예에서 볼 수 있듯이 array_reduce 함수를 사용하면 1차원 배열에서 속성의 합산 연산을 유연하게 구현할 수 있습니다. 🎜🎜2 foreach 루프를 사용하여 합산 구현🎜🎜 array_reduce 함수와 비교하여 PHP는 일반 foreach 루프를 사용하여 1차원 배열의 속성 합계를 구현할 수도 있습니다. 구체적인 구현은 다음과 같습니다. 🎜rrreee🎜 여기서 구현은 상대적으로 간단합니다. 즉, foreach 루프를 사용하여 배열의 모든 요소를 ​​순서대로 순회하고 각 요소의 점수를 누적하여 최종적으로 총점을 얻는 것입니다. 학생의 공연. 🎜🎜위 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다. 🎜rrreee🎜foreach 루프를 사용하는 것도 일반적인 구현 방법이며, 특히 작은 배열을 처리하는 데 적합하다는 것을 알 수 있습니다. 🎜🎜3. array_sum 함수를 사용하여 합산 구현🎜🎜 array_reduce 함수 외에도 PHP는 배열 요소의 합을 구하는 데 특별히 사용되는 array_sum 함수도 제공합니다. 이 함수는 매우 간단합니다. 배열을 매개변수로 사용하고 해당 요소의 합계를 반환합니다. 구체적인 구현은 다음과 같습니다. 🎜rrreee🎜위 코드에서는 array_sum 함수를 호출하여 배열에 대한 합계 연산을 수행합니다. $numbers. 마지막으로 합계를 구합니다. 🎜🎜위 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다. 🎜rrreee🎜 array_sum 함수는 1차원 숫자 인덱스 배열을 해결하는 데만 사용할 수 있다는 점에 유의하세요. 연관 배열을 사용하려면 먼저 array_column 함수를 사용하여 숫자 인덱스 배열로 변환한 다음 array_sum 함수를 사용하여 합계를 수행해야 합니다. 🎜🎜IV. 요약🎜🎜이 기사에서는 array_reduce 함수, foreach 루프 및 array_sum 함수를 포함하여 PHP에서 1차원 배열의 속성을 합하는 구현 방법을 소개합니다. 이에 비해 array_reduce 함수는 가장 유연하고 다양한 시나리오에 적응할 수 있지만 복잡성도 상대적으로 높습니다. foreach 루프와 array_sum 함수는 더 간단하고 간단하며 작은 배열을 처리하는 데 적합합니다. 최적의 결과를 얻기 위해 실제 필요에 따라 다양한 구현 방법을 선택할 수 있습니다. 🎜

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

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