🔍 Ricerca e Verifica negli Array in PHP
PHP mette a disposizione tre funzioni fondamentali per verificare la presenza di valori o chiavi all’interno di un array:
in_array()→ verifica se un valore è presente.array_search()→ trova la chiave corrispondente a un valore.array_key_exists()→ verifica se una chiave esiste nell’array.
1. Verificare la presenza di un valore: in_array()
La funzione in_array() controlla se un determinato valore è presente nell’array.
Restituisce true se il valore viene trovato, false altrimenti.
in_array($valore, $array, $strict);
- $valore → il valore da cercare.
- $array → l’array in cui cercare.
- $strict (opzionale) → se impostato su
true, verifica anche il tipo di dato.
<?php
$colori = ["Rosso", "Verde", "Blu"];
if (in_array("Verde", $colori)) {
echo "Colore trovato!";
} else {
echo "Colore non presente.";
}
?>
Colore trovato!
Se imposti il terzo parametro a true, la funzione controllerà anche il tipo di dato (es. "10" ≠ 10).
2. Trovare la chiave di un valore: array_search()
La funzione array_search() cerca un valore e restituisce la sua chiave (indice).
Se il valore non esiste, restituisce false.
array_search($valore, $array, $strict);
<?php
$frutti = ["mela", "pera", "banana"];
$chiave = array_search("pera", $frutti);
echo "La chiave di 'pera' è: " . $chiave;
?>
La chiave di 'pera' è: 1
Se la ricerca non trova nulla, $chiave sarà false — quindi è consigliato usare === nei controlli per evitare confusione con l’indice 0.
3. Verificare l’esistenza di una chiave: array_key_exists()
La funzione array_key_exists() controlla se una chiave (indice) esiste nell’array, indipendentemente dal valore associato.
array_key_exists($chiave, $array);
<?php
$persona = [
"nome" => "Luca",
"eta" => 25
];
if (array_key_exists("nome", $persona)) {
echo "La chiave 'nome' esiste.";
} else {
echo "Chiave non trovata.";
}
?>
La chiave 'nome' esiste.
4. Differenze tra le tre funzioni
| Funzione | Verifica | Ritorna | Confronto tipo |
|---|---|---|---|
| in_array() | Valore | Vero/Falso | Opzionale (strict) |
| array_search() | Valore | Chiave o False | Opzionale (strict) |
| array_key_exists() | Chiave | Vero/Falso | Non applicabile |
LABORATORIO
Cercare valori e chiavi in un array
In questo laboratorio imparerai a cercare e verificare la presenza di valori o chiavi all’interno di un array usando in_array(), array_search() e array_key_exists().
- Editor PHP (VS Code, Notepad++)
- Server locale (XAMPP, MAMP, Laragon)
- Browser per testare i risultati
1 Verificare la presenza di un valore
Crea un file chiamato ricerca-array.php e inserisci questo codice:
<?php
$colori = ["Rosso", "Verde", "Blu"];
if (in_array("Blu", $colori)) {
echo "Trovato Blu!";
} else {
echo "Blu non trovato.";
}
?>
2 Cercare la chiave di un valore
Usa array_search() per trovare la chiave corrispondente:
<?php
$frutti = ["mela", "pera", "banana"];
$indice = array_search("banana", $frutti);
if ($indice !== false) {
echo "Banana trovata alla posizione: $indice";
} else {
echo "Banana non trovata.";
}
?>
3 Verificare l’esistenza di una chiave
Ora prova con array_key_exists() su un array associativo:
<?php
$utente = [
"nome" => "Giulia",
"email" => "giulia@example.com"
];
if (array_key_exists("email", $utente)) {
echo "L'utente ha un indirizzo email.";
} else {
echo "Chiave 'email' non presente.";
}
?>
4 Test e analisi
- Prova a cambiare i valori da cercare e verifica il comportamento delle funzioni.
- Attiva la modalità
strictper verificare il tipo di dato (es. "10" ≠ 10). - Usa
array_search()per ottenere la chiave e stampare sia chiave che valore. - Applica queste funzioni a dati più complessi, come liste di utenti o prodotti.