Categorie
Web

Come rimuovere tutti gli elementi che contengono uno specifico valore da un’array in PHP

Vediamo come rimuovere tutti gli elementi, con uno specifico valore e chiave, da un array in PHP.

Immaginiamo di avere un array, contenente informazioni su alcune automobili, e di voler eliminare tutti gli elementi che contengono uno specifico valore per una specifica chiave.

Esempio: vogliamo eliminare tutte le auto che hanno come proprietà la chiave “COLORE” e come attributo il valore “BIANCO”


//Inizializziamo il nostro array
$automobili = array(
	array (
		"modello" => "Opel Corsa",
		"colore" => "Bianco",				
	),
	array (
		"modello" => "Fiat Punto",
		"colore" => "Bianco",				
	),
	array (
		"modello" => "Ferrari F40",
		"colore" => "Rosso",				
	),
	array (
		"modello" => "Mercedes Classe A",
		"colore" => "Grigio",				
	),
	array (
		"modello" => "Mercedes Classe A",
		"colore" => "Nero",				
	),									
);

//Stampiamo tutti gli elementi dell'array
print_r($automobili);

//Esegiuamo la funzione per rimuovere tutti gli elementi che contengono il valore Bianco nella "Proprietà Colore"
$automobili = array_remove_elements_with_key_and_value($automobili, "colore", "Bianco");		

//Ri-stampiamo tutti gli elementi dell'array
print_r($automobili);

//Funzione per rimuovere tutti gli elementi che contengono uno specifico valore
function array_remove_elements_with_key_and_value($array, $key, $value){
     foreach($array as $_key => $values){
          if($values[$key] == $value){
               unset($array[$_key]);
          }
     }
     return $array;
}	

In questa maniera otterremo come risultato tutti gli elementi presenti nell’array tranne le auto di colore bianco.

La funzione che ci permette di eliminare gli elementi di un array è la seguente:


//Funzione per rimuovere tutti gli elementi che contengono uno specifico valore in una proprietù indicata
function array_remove_elements_with_key_and_value($array, $key, $value){
     foreach($array as $_key => $values){
          if($values[$key] == $value){
               unset($array[$_key]);
          }
     }
     return $array;
}	

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *