W3docs

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|float

La 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

php— editable, runs on the server

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: 15

Esempi 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

php— editable, runs on the server

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: $60

Esempio 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

php— editable, runs on the server

L'output di questo codice sarà:

The average score of the students is: 84

array_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.

Pratica

Pratica
Qual è lo scopo della funzione array_sum() in PHP?
Qual è lo scopo della funzione array_sum() in PHP?
Was this page helpful?