La funzione array_sum() in PHP: come calcolare la somma di un array in PHP
Scopri come usare array_sum() in PHP per sommare valori numerici in array indicizzati e associativi, con esempi pratici e best practice.
La funzione array_sum() somma tutti i valori di un array e restituisce il totale. È uno dei modi più rapidi per calcolare il totale di una lista di numeri in PHP — prezzi in un carrello, punteggi in un test o qualsiasi raccolta numerica — senza dover scrivere un ciclo manualmente. Questo capitolo ne illustra la sintassi, il tipo di ritorno, il comportamento con valori non numerici e array vuoti, e fornisce diversi esempi pratici.
Cos'è la funzione array_sum() in PHP?
La funzione array_sum() in PHP è una funzione integrata che calcola e restituisce la somma di tutti i valori in un array. È una funzione semplice ma potente che può far risparmiare molto tempo e sforzo quando si lavora con gli array. La funzione accetta un singolo parametro, ovvero l'array di cui si vuole calcolare la somma.
Ecco la sintassi di base della funzione array_sum():
Sintassi PHP di array_sum
array_sum(array $array): int|floatLa funzione accetta un array come unico parametro e restituisce un int|float: se tutti i valori sono interi il risultato è un int, ma non appena uno qualsiasi dei valori è un float il risultato diventa un float. Funzionano sia gli array indicizzati che quelli associativi — le chiavi vengono ignorate, vengono sommati solo i valori.
Come usare la funzione array_sum() in PHP
Usare la funzione array_sum() in PHP è piuttosto semplice. È sufficiente passare un array alla funzione, e questa restituirà la somma di tutti i valori nell'array.
Ecco un esempio:
Esempio PHP di utilizzo della funzione array_sum
In questo esempio, definiamo un array chiamato $numbers contenente cinque interi. Lo passiamo ad array_sum(), che restituisce il totale. Infine, visualizziamo il risultato con echo.
Nota: array_sum() converte automaticamente i valori in numeri. Una stringa numerica come "3" o "4.5" viene convertita nel suo valore numerico, mentre una stringa non numerica come "abc" viene trattata come 0 (e genera un avviso in PHP 8+). Quindi array_sum([1, "2", "abc"]) restituisce 3 (1 + 2 + 0).
L'output di questo codice sarà:
The sum of the numbers is: 15Esempi pratici dell'utilizzo della funzione array_sum() in PHP
Ora che sai come usare la funzione array_sum() in PHP, vediamo alcuni esempi pratici di come questa funzione può essere utilizzata nello sviluppo web.
Esempio 1: Calcolo del prezzo totale degli articoli in un carrello
Supponiamo che tu stia sviluppando un sito di e-commerce e voglia calcolare il prezzo totale di tutti gli articoli in un carrello. Puoi usare la funzione array_sum() per calcolare facilmente il prezzo totale.
Ecco un esempio:
Esempio PHP 1: Calcolo del prezzo totale con la funzione array_sum
Qui definiamo un array $cart con i dettagli dei prodotti. Estraiamo i prezzi in un array piatto usando array_column(), li sommiamo con array_sum() e visualizziamo il risultato.
L'output di questo codice sarà:
The total price of the items in the cart is: $60Esempio 2: Calcolo del punteggio medio
In questo esempio, definiamo un array $scores con i voti di cinque studenti. Calcoliamo la media dividendo la somma dei punteggi per il numero di elementi con count(), quindi visualizziamo il risultato.
PHP calcolo della media con array_sum
L'output di questo codice sarà:
The average score of the students is: 84array_sum() vs. array_product() e array_reduce()
array_sum() è progettata per un unico compito — sommare i valori. Quando hai bisogno di un tipo diverso di aggregazione, utilizza una funzione correlata:
- Per moltiplicare tutti i valori invece di sommarli, usa
array_product(). - Per qualsiasi accumulazione personalizzata (concatenazione, somme condizionali, somma di una proprietà), usa
array_reduce(), che ti permette di fornire un callback personalizzato.
Usa array_sum() ogni volta che hai bisogno di un semplice totale — è più concisa e veloce dell'equivalente chiamata a array_reduce().
Best practice per l'utilizzo della funzione array_sum() in PHP
Sebbene la funzione array_sum() in PHP sia piuttosto semplice da usare, ci sono alcune best practice da tenere a mente per assicurarsi di utilizzarla correttamente ed efficientemente.
1. Verificare che l'input sia un array
Prima di usare la funzione array_sum(), è importante assicurarsi che l'input sia effettivamente un array. In PHP 8+, passare un valore non-array genera un TypeError invece di un avviso.
Per verificare se una variabile è un array, puoi usare la funzione is_array(). Ecco un esempio:
PHP verifica se l'input è un array
if (is_array($numbers)) {
$sum = array_sum($numbers);
} else {
// handle the error
}Verifichiamo la variabile con is_array() prima di chiamare array_sum(). Se non è un array, gestiamo l'errore in modo appropriato.
2. Gestire gli array vuoti
Se passi un array vuoto alla funzione array_sum(), questa restituirà il valore 0. Sebbene questo possa essere il valore corretto in alcuni casi, è importante gestire gli array vuoti in modo che abbia senso per la tua applicazione.
Ad esempio, se stai calcolando il voto medio degli studenti di una classe e non ci sono studenti, potresti voler visualizzare un messaggio che indica che non ci sono punteggi da mediare.
PHP gestione degli array vuoti con array_sum
if (empty($scores)) {
echo "There are no scores to average.";
} else {
$average_score = array_sum($scores) / count($scores);
echo "The average score of the students is: " . $average_score;
}Verifichiamo se $scores è vuoto usando empty(). In caso affermativo, mostriamo un messaggio; altrimenti, calcoliamo e visualizziamo la media.
Conclusione
La funzione array_sum() in PHP è una funzione semplice ma potente che può far risparmiare molto tempo e sforzo quando si lavora con gli array. Permette di calcolare facilmente la somma di tutti i valori in un array, il che può essere utile in un'ampia gamma di applicazioni.
In questo articolo abbiamo fornito una guida completa su come utilizzare la funzione array_sum() in PHP, con esempi pratici e best practice. Seguendo queste linee guida, puoi assicurarti di usare la funzione correttamente ed efficientemente, e creare applicazioni PHP più affidabili.