PHP

Ricerca E Verifica Elementi

Funzioni di ricerca negli array in PHP: in_array(), array_search() e array_key_exists() con esempi pratici e laboratorio guidato.


🔍 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
FunzioneVerificaRitornaConfronto tipo
in_array()ValoreVero/FalsoOpzionale (strict)
array_search()ValoreChiave o FalseOpzionale (strict)
array_key_exists()ChiaveVero/FalsoNon 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().


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à strict per 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.