Array PHP: gestione, cicli e operatore ternario
Questo codice PHP mostra come lavorare con gli array (liste di elementi) e le principali strutture di controllo. Analizziamolo passo per passo.
1. Creazione di un array indicizzato
$frutta = [
"mela",
"albicocca",
"pesca",
"banana"
];
Qui viene creato un array indicizzato chiamato $frutta che contiene 4 elementi. Gli array in PHP iniziano dall'indice 0, quindi:
$frutta[0]= "mela"$frutta[1]= "albicocca"$frutta[2]= "pesca"$frutta[3]= "banana"
2. Aggiunta di un elemento all'array
$frutta[] = "Lampone";
Con questa sintassi aggiungiamo un nuovo elemento alla fine dell'array. Ora $frutta[4] conterrà "Lampone".
3. Visualizzazione dell'array con var_dump()
var_dump($frutta);
La funzione var_dump() è molto utile per debug perché mostra:
- Il tipo di dato
- La dimensione dell'array
- Tutti gli elementi con i loro indici
Nota importante: Come dice il commento, per gli array non si usa echo ma var_dump() o print_r().
4. Struttura condizionale IF-ELSE
if($frutta[0] === "mela"){
echo "Le mele del Trentino sono buonissime :)";
}else {
echo "Oggi non è giornata di mele";
}
Questo blocco controlla se il primo elemento dell'array è "mela". L'operatore === verifica sia il valore che il tipo di dato (confronto stretto).
5. Operatore ternario
$eta = 8;
$msg_utente = $eta >= 18 ? "Maggiorenne" : "Minorenne";
L'operatore ternario è una forma compatta dell'if-else:
- Se
$eta >= 18è vero →$msg_utente= "Maggiorenne" - Se è falso →
$msg_utente= "Minorenne"
6. Ciclo FOR per creare una lista HTML
$output = "<ol>";
for($i=0; $i < count($frutta); $i++){
$output .= "<li>$frutta[$i]</li>";
}
$output.="</ol>";
Questo ciclo:
- Inizializza una lista ordinata HTML (
<ol>) - Scorre tutti gli elementi dell'array usando l'indice
$i - Per ogni elemento crea un
<li> count($frutta)restituisce il numero di elementi nell'array- L'operatore
.=concatena (aggiunge) testo alla variabile esistente
7. Ciclo FOREACH (alternativa più semplice)
foreach($frutta as $f){
$output .= "<li>$f</li>";
}
Il foreach è più elegante per scorrere array:
- Non serve gestire gli indici manualmente
$fassume automaticamente il valore di ogni elemento- È meno soggetto a errori
8. Array associativo
$voti = [
"marco" => 8,
"stefano" => "Dieci",
"stefano" => "Tre" // Questo sovrascrive il valore precedente!
];
Questo è un array associativo dove:
- Le chiavi sono stringhe ("marco", "stefano")
- I valori sono associati alle chiavi
- Attenzione: la chiave "stefano" viene ripetuta, quindi il valore finale sarà "Tre" (l'ultimo assegnato)
Concetti chiave da ricordare
- Array indicizzati: usano numeri come indici (0, 1, 2...)
- Array associativi: usano stringhe come chiavi
- var_dump(): per visualizzare il contenuto completo di variabili complesse
- Operatore ternario: forma compatta di if-else
- foreach: il modo più semplice per scorrere array
- Concatenazione:
.=per aggiungere testo a una stringa esistente
<?php
$frutta = [
"mela",
"albicocca",
"pesca",
"banana"
];
//echo $frutta[1];
$frutta[] = "Lampone";
// Stampa dell'array. Mi raccomando non usare echo! (si usa per le stringhe, numeri ecc...)
var_dump($frutta);
if($frutta[0] === "mela"){
echo "Le mele del Trentino sono buonissime :)";
}else {
echo "Oggi non è giornata di mele";
}
$eta = 8;
$msg_utente = $eta >= 18 ? "Maggiorenne" : "Minorenne";
echo "<br>";
echo $msg_utente;
$output = "<ol>";
for($i=0; $i < count($frutta); $i++){
$output .= "<li>$frutta[$i]</li>";
}
$output.="</ol>";
echo "<br/>Numero di frutti (".count($frutta).") <br/>";
echo $output;
// stessa cosa di prima...ma con il foreach
$output ="<ol>";
foreach($frutta as $f){
$output .= "<li>$f</li>";
}
$output.="</ol>";
echo "<br/>Numero di frutti (".count($frutta).") <br/>";
echo $output;
$voti = [
"marco" => 8,
"stefano" => "Dieci",
"stefano" => "Tre"
];
echo $voti["stefano"]; // 10
?>