Home Backend Development PHP Problem How to sum the elements of two arrays in php

How to sum the elements of two arrays in php

Apr 26, 2023 am 10:21 AM

In PHP, sometimes we need to sum the elements of two arrays, and the two arrays may have different lengths. This article will introduce you to two methods to achieve this goal.

Method 1: Use for loop

This method uses for loop to traverse the array elements one by one, add the elements at the corresponding positions and store them in a new array, and finally return this new array. The code is as follows:

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;
}
Copy after login

Here we calculate the lengths of the two arrays $n1$ and $n2$ respectively, and then take the maximum value $n$ as the length of the new array.

Next, in the for loop, we first define $sum$ to be 0, and then determine whether the current index $i$ is less than $n1$ or $n2$. If so, add the element at the corresponding position. into $sum$. Finally store $sum$ into a new array and return the result.

Method 2: Use array_map() function

This method uses PHP’s array_map() function and anonymous function. The array_map() function passes elements corresponding to two arrays as arguments to an anonymous function, then adds them and returns a new array. The code is as follows:

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;
}
Copy after login

First, we use the count() function to calculate the lengths $n1$ and $n2$ of the two arrays, and then take the maximum value $n$.

Then, we use the array_pad() function to pad both arrays to the same length. If one of the arrays is longer than the other, we fill its empty space with 0s.

Next, we call the array_map() function and the anonymous function, passing in the two filled arrays as parameters. The anonymous function adds two corresponding elements and returns the result. Finally return $result$.

This method looks more concise and uses built-in functions, but it may be slower than the first method when processing large arrays.

Summary

This article introduces two methods to sum two array elements in PHP. Method one uses a for loop, while method two uses PHP’s built-in function array_map(). Both methods have their own advantages and disadvantages, and you can choose the appropriate method according to your own needs.

The above is the detailed content of How to sum the elements of two arrays in php. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1664
14
PHP Tutorial
1268
29
C# Tutorial
1242
24