Comment effectuer la suppression de tableau par valeur non clé en PHP

Minahil Noor 30 janvier 2023
  1. Utilisez les fonctions array_search() et unset() pour effectuer l’effacement de tableaux par valeur non clé en PHP
  2. Utilisez la fonction array_diff() pour effectuer la suppression de tableau par valeur et non par clé en PHP
Comment effectuer la suppression de tableau par valeur non clé en PHP

Cet article présente différentes méthodes pour supprimer une valeur dans un tableau en PHP.

Utilisez les fonctions array_search() et unset() pour effectuer l’effacement de tableaux par valeur non clé en PHP

La principale procédure pour effectuer une suppression de tableau par valeur, mais pas par clé, consiste à trouver d’abord la valeur. On peut effacer la valeur après qu’elle ait été trouvée. Nous trouverons la valeur en utilisant la fonction array_search() et la supprimerons en utilisant la fonction unset(). La fonction unset() réinitialise une variable. La syntaxe correcte pour utiliser ces fonctions est la suivante.

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

La fonction intégrée array_search() a trois paramètres. Les détails de ses paramètres sont les suivants

Paramètres Description
$value obligatoire C’est la valeur que nous voulons rechercher dans le tableau.
$array obligatoire C’est le tableau dans lequel nous allons rechercher la valeur donnée.
$strict facultatif Si ce paramètre est défini sur True, alors la fonction recherchera également les éléments identiques dans le tableau.

Cette fonction retourne la clé de la valeur donnée.

Syntaxe de unset()

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

La fonction intégrée unset() a de multiples paramètres. Les détails de ses paramètres sont les suivants

Paramètres Description
$variable1, $variable2, $variableN obligatoire C’est la variable ou la structure de données que nous voulons supprimer. Au moins une variable est obligatoire.

Cette fonction ne retourne rien.

Exemple de suppression de valeurs d’un tableau en PHP

Le programme ci-dessous montre comment nous pouvons utiliser ces fonctions pour effectuer la suppression de tableaux par valeur, mais pas par clé, en 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);
?>

Production :

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"
}

Utilisez la fonction array_diff() pour effectuer la suppression de tableau par valeur et non par clé en PHP

En PHP, nous pouvons également utiliser la fonction array_diff() pour effectuer une suppression de tableau par valeur et non par clé. Cette fonction calcule la différence d’un tableau donné avec un autre tableau. La syntaxe correcte pour utiliser cette fonction est la suivante.

Syntaxe

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

La fonction array_diff() accepte N+1 paramètres. Le détail de ses paramètres est le suivant.

Paramètres Description
$array obligatoire C’est le principal tableau dont nous voulons retirer une valeur
$Arr1, $Arr2, $ArrN obligatoire C’est le tableau que nous voulons supprimer. La fonction prendra sa différence avec le tableau et l’enlèvera du tableau si elle est présente.

Le programme qui effectue la suppression de tableau par valeur, mais pas par clé, est le suivant.

<?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);
?>

Production :

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"
}

Article connexe - PHP Array