首頁 後端開發 PHP問題 php怎麼對兩個陣列的元素進行求和

php怎麼對兩個陣列的元素進行求和

Apr 26, 2023 am 10:21 AM

在 PHP 中,有時我們需要對兩個陣列的元素進行求和,而且這兩個陣列可能長度不一樣。本文將為大家介紹兩種方法來實現這個目標。

方法一:使用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$ 儲存到新數組中,並傳回結果。

方法二:使用 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 中的兩個陣列元素進行求和。方法一使用了 for 循環,而方法二使用了 PHP 的內建函數 array_map()。兩種方法各有優劣,可以依照自己的需求選擇適合的方法。

以上是php怎麼對兩個陣列的元素進行求和的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1421
52
Laravel 教程
1315
25
PHP教程
1266
29
C# 教程
1239
24