Comment supprimer un élément d'un tableau en PHP?

Existe-t-il un moyen simple de supprimer un élément d’un tableau en PHP, de telle sorte que foreach ($tab) n’inclue plus cet élément ?

Je pensais que le mettre à null le ferait, mais apparemment cela ne fonctionne pas.

Vous pouvez utiliser la méthode unset() pour supprimer un élément d’un tableau en PHP.

$tab = array('A', 'B', 'C', 'D', 'E');
unset($tab[2]); // Supprime la valeur de l'index 2 du tableau
var_dump($tab);

Sortie:

array(4) {
  [0]=>
  string(1) "A"
  [1]=>
  string(1) "B"
  [3]=>
  string(1) "D"
  [4]=>
  string(1) "E"
}

Si vous voulez ré-indexer le tableau :

$tab = array_values($tab);
var_dump($tab);

Sortie:

array(4) {
  [0]=>
  string(1) "A"
  [1]=>
  string(1) "B"
  [2]=>
  string(1) "D"
  [3]=>
  string(1) "E"
}
1 « J'aime »

Si vous voulez supprimer l’élément de la fin du tableau et retourner la valeur de l’élément retiré, utiliser la méthode array_pop().

$colors = array("bleu", "rouge", "noire", "vert");
$last_color = array_pop($colors);
print_r($colors);
print_r('Le dernier coleur:'.$last_color); // Le dernier élément du tableau

Le résultat sera le suivant

Array
(
    [0] => bleu
    [1] => rouge
    [2] => noire
)
Le dernier coleur: vert
1 « J'aime »

Si vous voulez supprimer le premier élément (bleu) du tableau et retourner la valeur de l’élément retiré, utiliser la méthode array_shift().

$colors = array("a" => "bleu", "b" => "rouge" , "c" => "noire");
$first_color = array_shift($colors);
print_r ($colors);
print_r ('La première couleur: '.$first_color);

Sortie:

Array
(
    [b] => rouge
    [c] => noire
)
La première couleur: bleu
1 « J'aime »