In PHP ist das Summieren einer Spalte eines Arrays eine häufige Anforderung. Wenn es sich bei dem Array um ein eindimensionales Array handelt, verwenden Sie die Funktion array_sum(). Zum Beispiel:
$array = array(1, 2, 3, 4, 5); $sum = array_sum($array); // $sum = 15
Wenn das Array jedoch ein zweidimensionales Array ist, müssen Sie zuerst alle Werte der Spalte extrahieren und sie dann summieren. Sie können die Funktion array_column() verwenden, um die Werte einer Spalte zu extrahieren, und dann die Funktion array_sum() verwenden, um die Werte zu summieren. Zum Beispiel:
$records = array( array('name' => 'John', 'score' => 85), array('name' => 'Mary', 'score' => 92), array('name' => 'Peter', 'score' => 78), array('name' => 'Lisa', 'score' => 89) ); $scores = array_column($records, 'score'); $sum = array_sum($scores); // $sum = 344
Im obigen Beispiel ist $records ein zweidimensionales Array, das den Namen und die Punktzahl jeder Person enthält. Verwenden Sie die Funktion array_column(), um alle Ergebnisse zu extrahieren, und verwenden Sie dann die Funktion array_sum(), um sie zu summieren, was zu einem Gesamtergebnis von 344 führt.
Es ist zu beachten, dass die Werte der Spalte, wenn sie nicht numerische Typen (z. B. Zeichenfolgen) enthalten, zuerst durch Typkonvertierung in Zahlen umgewandelt werden müssen. Andernfalls kann das Ergebnis der Summe ungenau sein. Zum Beispiel:
$records = array( array('name' => 'John', 'score' => '85'), array('name' => 'Mary', 'score' => '92'), array('name' => 'Peter', 'score' => '78'), array('name' => 'Lisa', 'score' => '89') ); $scores = array_column($records, 'score'); $sum = array_sum($scores); // $sum = 0
Im obigen Beispiel sind die Scores in $records alle String-Typen. Wenn Sie sie direkt summieren, erhalten Sie ein ungenaues Ergebnis von 0. Sie können in numerische Typen konvertiert werden, indem Sie das dritte Argument in der Funktion array_column() angeben. Zum Beispiel:
$records = array( array('name' => 'John', 'score' => '85'), array('name' => 'Mary', 'score' => '92'), array('name' => 'Peter', 'score' => '78'), array('name' => 'Lisa', 'score' => '89') ); $scores = array_column($records, 'score', 'name'); $scores = array_map('intval', $scores); $sum = array_sum($scores); // $sum = 344
Im obigen Beispiel wird die Funktion array_column() verwendet, um die Punktzahlen jeder Person zu extrahieren und sie in einem neuen Array mit dem Namen als Schlüssel und der Punktzahl als Wert zu speichern. Verwenden Sie dann die Funktion array_map(), um diese Werte typkonvertiert, und verwenden Sie schließlich die Funktion array_sum(), um sie zu summieren und das korrekte Ergebnis von 344 zu erhalten.
Zusammenfassend lässt sich sagen, dass das Summieren einer Spalte eines Arrays in PHP nicht schwierig ist. Sie müssen nur auf den Datentyp achten.
Das obige ist der detaillierte Inhalt vonSo summieren Sie eine Spalte eines Arrays in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!