Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Array summiert eine bestimmte Spalte

PHP-Array summiert eine bestimmte Spalte

WBOY
WBOYOriginal
2023-05-19 09:53:36991Durchsuche

In der Entwicklung ist es oft notwendig, eine Summenoperation für eine bestimmte Spalte eines Arrays durchzuführen. In der PHP-Sprache kann die Summe durch Durchlaufen des Arrays berechnet werden, diese Methode erfordert jedoch nicht nur viel Code, sondern ist auch weniger effizient. In diesem Artikel werden mehrere einfache und effiziente Methoden zum Summieren einer bestimmten Spalte eines PHP-Arrays vorgestellt.

Die erste Methode ist die Verwendung der Funktion array_column(). Die Funktion array_column() kann die angegebene Spalte aus dem Array abrufen und dann die Spalte summieren. Der Code lautet wie folgt:

$array = array(
    array('name' => '张三', 'age' => 20, 'score' => 80),
    array('name' => '李四', 'age' => 21, 'score' => 85),
    array('name' => '王五', 'age' => 22, 'score' => 90),
);

$sum = array_sum(array_column($array, 'score'));
echo '总分:' . $sum;

Der obige Code definiert zunächst ein zweidimensionales Array, das die des Schülers enthält Name, Alter und Noten. Verwenden Sie dann die Funktion array_column(), um die Score-Spalte aus dem Array abzurufen, und rufen Sie schließlich die Funktion array_sum() auf, um die Spalte zu summieren. Das Ausgabeergebnis ist: Gesamtpunktzahl: 255.

Die zweite Methode ist die Verwendung der Funktion array_reduce(). Die Funktion array_reduce() kann ein Array auf einen Wert reduzieren und ihre Parameter sind eine Rückruffunktion und ein Anfangswert. In der Rückruffunktion kann jedes Element hinzugefügt werden, um schließlich die Summe der Spalte zu erhalten. Der Code lautet wie folgt:

$array = array(
    array('name' => '张三', 'age' => 20, 'score' => 80),
    array('name' => '李四', 'age' => 21, 'score' => 85),
    array('name' => '王五', 'age' => 22, 'score' => 90),
);

$sum = array_reduce($array, function($total, $item) {
    return $total + $item['score'];
}, 0);

echo '总分:' . $sum;

Der obige Code definiert zunächst ein zweidimensionales Array, das den Namen des Schülers enthält und Alter und Noten. Verwenden Sie dann die Funktion array_reduce(), um das Array zu reduzieren. Der Standardanfangswert ist 0. Die Rückruffunktion addiert die Ergebnisse jedes Elements, um schließlich die Summe der Spalte zu erhalten. Das Ausgabeergebnis ist: Gesamtpunktzahl: 255.

Die dritte Methode besteht darin, eine foreach-Schleife zu verwenden, um das Array zu durchlaufen. Der Code lautet wie folgt:

$array = array(
    array('name' => '张三', 'age' => 20, 'score' => 80),
    array('name' => '李四', 'age' => 21, 'score' => 85),
    array('name' => '王五', 'age' => 22, 'score' => 90),
);

$sum = 0;
foreach($array as $item) {
    $sum += $item['score'];
}

echo '总分:' . $sum;

Der obige Code definiert zunächst ein zweidimensionales Array, das den Namen, das Alter und die Noten des Schülers enthält. Verwenden Sie dann eine foreach-Schleife, um das Array zu durchlaufen, die Bewertungen jedes Elements zu addieren und schließlich die Summe der Spalte zu erhalten. Das Ausgabeergebnis ist: Gesamtpunktzahl: 255.

Zusammenfassend lässt sich sagen, dass wir verschiedene Methoden verwenden können, um eine bestimmte Spalte eines PHP-Arrays zu summieren. Verwenden Sie die Funktion array_column(), um schnell und einfach eine Spalte eines Arrays abzurufen, und verwenden Sie die Funktion array_reduce(), um ein Array auf einen einzelnen Wert zu reduzieren und die Spalte zu summieren. Die Verwendung einer foreach-Schleife zum Durchlaufen eines Arrays ist eine gängige Methode, da der Code einfach und leicht zu verstehen ist. Je nach konkreter Situation können wir unterschiedliche Operationsmethoden wählen.

Das obige ist der detaillierte Inhalt vonPHP-Array summiert eine bestimmte Spalte. 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