Heim >Backend-Entwicklung >PHP-Problem >So summieren Sie die Elemente zweier Arrays in PHP

So summieren Sie die Elemente zweier Arrays in PHP

PHPz
PHPzOriginal
2023-04-26 10:21:55769Durchsuche

In PHP müssen wir manchmal die Elemente zweier Arrays summieren, und die beiden Arrays können unterschiedliche Längen haben. In diesem Artikel werden Ihnen zwei Methoden vorgestellt, um dieses Ziel zu erreichen.

Methode 1: for-Schleife verwenden

Diese Methode verwendet eine for-Schleife, um die Array-Elemente einzeln zu durchlaufen, die Elemente an den entsprechenden Positionen hinzuzufügen und sie in einem neuen Array zu speichern und schließlich das neue Array zurückzugeben. Der Code lautet wie folgt:

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;
}

Hier berechnen wir die Längen der beiden Arrays $n1$ bzw. $n2$ und nehmen dann den Maximalwert $n$ als Länge des neuen Arrays.

Als nächstes definieren wir in der for-Schleife zunächst $sum$ als 0 und bestimmen dann, ob der aktuelle Index $i$ kleiner als $n1$ oder $n2$ ist. Wenn ja, fügen wir das Element an der entsprechenden Position hinzu bis $sum$ Mitte. Speichern Sie abschließend $sum$ in einem neuen Array und geben Sie das Ergebnis zurück.

Methode 2: Verwenden Sie die Funktion array_map()

Diese Methode verwendet die Funktion array_map() und die anonyme Funktion von PHP. Die Funktion array_map() übergibt Elemente, die zwei Arrays entsprechen, als Argumente an eine anonyme Funktion, fügt sie dann hinzu und gibt ein neues Array zurück. Der Code lautet wie folgt:

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;
}

Zuerst verwenden wir die Funktion count(), um die Längen $n1$ und $n2$ der beiden Arrays zu berechnen, und nehmen dann den Maximalwert $n$.

Dann verwenden wir die Funktion array_pad(), um beide Arrays auf die gleiche Länge aufzufüllen. Wenn eines der Arrays länger ist als das andere, füllen wir seinen leeren Raum mit Nullen.

Als nächstes rufen wir die Funktion array_map() und die anonyme Funktion auf und übergeben die beiden gefüllten Arrays als Parameter. Die anonyme Funktion fügt zwei entsprechende Elemente hinzu und gibt das Ergebnis zurück. Gibt schließlich $result$ zurück.

Diese Methode sieht prägnanter aus und verwendet integrierte Funktionen, ist jedoch möglicherweise langsamer als die erste Methode, wenn es um große Arrays geht.

Zusammenfassung

In diesem Artikel werden zwei Methoden zum Summieren zweier Array-Elemente in PHP vorgestellt. Methode eins verwendet eine for-Schleife, während Methode zwei die in PHP integrierte Funktion array_map() verwendet. Beide Methoden haben ihre eigenen Vor- und Nachteile, und Sie können die geeignete Methode entsprechend Ihren eigenen Bedürfnissen auswählen.

Das obige ist der detaillierte Inhalt vonSo summieren Sie die Elemente zweier Arrays in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn