Eseguire l'eliminazione di un array per valore non chiave in PHP

Minahil Noor 13 aprile 2021
  1. Usa le funzioni array_search() e unset() per eseguire l’eliminazione dell’array per valore non chiave in PHP
  2. Usa la funzione array_diff() per eseguire l’eliminazione dell’array per valore non chiave in PHP
Eseguire l'eliminazione di un array per valore non chiave in PHP

Questo articolo introdurrà diversi metodi per rimuovere il valore da un array in PHP.

Usa le funzioni array_search() e unset() per eseguire l’eliminazione dell’array per valore non chiave in PHP

La procedura principale per eseguire l’eliminazione di un array in base al valore, ma non una chiave, è trovare prima il valore. Potremmo eliminare il valore dopo che è stato trovato. Troveremo il valore usando la funzione array_search() e lo cancelleremo usando la funzione unset(). La funzione unset() resetta una variabile. La sintassi corretta per utilizzare queste funzioni è la seguente.

array_search($value, $array, $strict);

La funzione incorporata array_search() ha tre parametri. I dettagli dei suoi parametri sono i seguenti

Parametri Descrizione
$value obbligatorio È il valore che vogliamo cercare nell’array.
$array obbligatorio È l’array in cui cercheremo il valore dato.
$strict opzionale Se questo parametro è impostato su True, la funzione cercherà anche gli elementi identici nell’array.

Questa funzione restituisce la chiave del valore dato.

Sintassi di unset()

unset($variable1, $variable2, ..., $variableN);

La funzione incorporata unset() ha più parametri. I dettagli dei suoi parametri sono i seguenti

Parametri Descrizione
$variable1, $variable2, $variableN obbligatorio È la variabile o la struttura dati che vogliamo annullare. Almeno una variabile è obbligatoria.

Questa funzione non restituisce nulla.

Esempio di rimozione di valori da un array in PHP

Il programma seguente mostra come possiamo usare queste funzioni per eseguire l’eliminazione dell’array per valore, ma non per chiave, in PHP.

<?php
$array = array("Rose","Lili","Jasmine","Hibiscus","Daffodil","Daisy");
echo("Array before deletion: \n");
var_dump($array);
$value = "Jasmine";
if (($key = array_search($value, $array)) !== false) {
    unset($array[$key]);
}
echo("Array after deletion: \n");
var_dump($array);
?>

Produzione:

Array before deletion: 
array(6) {
  [0]=>
  string(4) "Rose"
  [1]=>
  string(4) "Lili"
  [2]=>
  string(7) "Jasmine"
  [3]=>
  string(8) "Hibiscus"
  [4]=>
  string(8) "Daffodil"
  [5]=>
  string(5) "Daisy"
}
Array after deletion: 
array(5) {
  [0]=>
  string(4) "Rose"
  [1]=>
  string(4) "Lili"
  [3]=>
  string(8) "Hibiscus"
  [4]=>
  string(8) "Daffodil"
  [5]=>
  string(5) "Daisy"
}

Usa la funzione array_diff() per eseguire l’eliminazione dell’array per valore non chiave in PHP

In PHP, possiamo anche usare la funzione array_diff() per eseguire l’eliminazione dell’array in base al valore e non alla chiave. Questa funzione calcola la differenza di un dato array con un altro array. La sintassi corretta per utilizzare questa funzione è la seguente.

Sintassi

array_diff($array, $Arr1, $Arr2, ...,$ArrN);

La funzione array_diff() accetta N+1 parametri. Il dettaglio dei suoi parametri è il seguente.

Parametri Descrizione
$array obbligatorio È l’array principale da cui rimuovere un valore
$Arr1, $Arr2, $ArrN obbligatorio È l’array che vogliamo rimuovere. La funzione prenderà la sua differenza con l’array e lo rimuoverà dall’array se è presente.

Il programma che esegue l’eliminazione dell’array per valore, ma non per chiave, è il seguente.

<?php
$array = array("Rose","Lili","Jasmine","Hibiscus","Daffodil","Daisy");
echo("Array before deletion: \n");
var_dump($array);
$value = array("Jasmine");
$array = array_diff( $array, $value);
echo("Array after deletion: \n");
var_dump($array);
?>

Produzione:

Array before deletion: 
array(6) {
  [0]=>
  string(4) "Rose"
  [1]=>
  string(4) "Lili"
  [2]=>
  string(7) "Jasmine"
  [3]=>
  string(8) "Hibiscus"
  [4]=>
  string(8) "Daffodil"
  [5]=>
  string(5) "Daisy"
}
Array after deletion: 
array(5) {
  [0]=>
  string(4) "Rose"
  [1]=>
  string(4) "Lili"
  [3]=>
  string(8) "Hibiscus"
  [4]=>
  string(8) "Daffodil"
  [5]=>
  string(5) "Daisy"
}

Articolo correlato - PHP Array