🧮 Funzioni di Conteggio e Statistiche sugli Array in PHP
PHP fornisce diverse funzioni per analizzare e contare gli elementi contenuti in un array. Queste funzioni sono fondamentali per lavorare con dati numerici, elenchi di elementi o raccolte di informazioni.
1. Contare gli elementi di un array: count() e sizeof()
Le funzioni count() e sizeof() restituiscono il numero di elementi presenti in un array.
Sono identiche: sizeof() è solo un alias di count().
<?php
$colori = ["Rosso", "Verde", "Blu"];
echo "Numero di elementi: " . count($colori);
?>
Numero di elementi: 3
Puoi anche contare gli elementi di un array multidimensionale usando il secondo parametro COUNT_RECURSIVE.
<?php
$array = [
"frutta" => ["Mela", "Pera"],
"verdura" => ["Carota", "Cavolo"]
];
echo count($array, COUNT_RECURSIVE); // Conta anche i sotto-array
?>
6
2. Contare le occorrenze dei valori: array_count_values()
La funzione array_count_values() restituisce un array associativo che mostra quante volte ogni valore compare.
<?php
$numeri = [1, 2, 2, 3, 3, 3];
$conteggi = array_count_values($numeri);
print_r($conteggi);
?>
Array
(
[1] => 1
[2] => 2
[3] => 3
)
Utile per statistiche o per eliminare duplicati analizzando la frequenza.
3. Sommare tutti i valori: array_sum()
La funzione array_sum() restituisce la somma totale di tutti i valori numerici di un array.
<?php
$voti = [28, 30, 25, 27];
echo "Somma totale: " . array_sum($voti);
?>
Somma totale: 110
4. Moltiplicare tutti i valori: array_product()
La funzione array_product() calcola il prodotto di tutti i valori numerici dell’array.
<?php
$valori = [2, 3, 4];
echo "Prodotto: " . array_product($valori);
?>
Prodotto: 24
5. Trovare minimo e massimo: min() e max()
Le funzioni min() e max() restituiscono rispettivamente il valore più piccolo e quello più grande in un array.
<?php
$voti = [22, 30, 18, 27];
echo "Voto minimo: " . min($voti) . "<br>";
echo "Voto massimo: " . max($voti);
?>
Voto minimo: 18
Voto massimo: 30
6. Combinare le funzioni per statistiche semplici
Puoi usare più funzioni insieme per calcolare media, range o frequenza.
<?php
$voti = [22, 30, 18, 27];
$somma = array_sum($voti);
$media = $somma / count($voti);
echo "Media voti: " . round($media, 2);
?>
Media voti: 24.25
7. Riepilogo delle funzioni statistiche
| Funzione | Descrizione | Tipo di risultato |
|---|---|---|
| count() | Conta gli elementi | Numero intero |
| sizeof() | Alias di count() | Numero intero |
| array_count_values() | Conta quante volte ogni valore appare | Array associativo |
| array_sum() | Somma tutti i valori numerici | Numero |
| array_product() | Moltiplica tutti i valori numerici | Numero |
| min() | Restituisce il valore minimo | Numero |
| max() | Restituisce il valore massimo | Numero |
LABORATORIO
Analizzare un array di dati numerici
In questo laboratorio imparerai a contare, sommare, moltiplicare e calcolare statistiche di base sugli array numerici.
- Editor PHP (VS Code, Notepad++)
- Server locale (XAMPP, MAMP, Laragon)
- Browser per testare i risultati
1 Contare elementi
Crea un file chiamato array-statistiche.php e inserisci questo codice:
<?php
$numeri = [1, 2, 3, 4, 5];
echo "<b>Numero elementi:</b> " . count($numeri);
?>
2 Calcolare frequenze e somma
Ora aggiungi un conteggio delle occorrenze e la somma:
<?php
$numeri = [1, 2, 2, 3, 3, 3];
echo "<b>Somma:</b> " . array_sum($numeri) . "<br>";
echo "<b>Occorrenze:</b><br>";
print_r(array_count_values($numeri));
?>
3 Calcolare media, minimo e massimo
Aggiungi il calcolo della media e dei valori estremi:
<?php
$voti = [22, 30, 18, 27];
$media = array_sum($voti) / count($voti);
echo "<b>Media:</b> " . round($media, 2) . "<br>";
echo "<b>Minimo:</b> " . min($voti) . "<br>";
echo "<b>Massimo:</b> " . max($voti);
?>
4 Test e analisi
- Prova con array di lunghezze e valori diversi.
- Aggiungi numeri negativi o decimali per verificare il comportamento.
- Combina
array_sum()ecount()per calcolare la media di qualsiasi dataset. - Usa
array_count_values()per analizzare frequenze in liste di parole o nomi.