Il existe de nombreuses façons de supprimer des éléments d'un tableau en PHP. Plusieurs méthodes courantes sont listées ci-dessous.
Supprimer un élément d'un tableau
Si vous souhaitez supprimer un élément d'un tableau, vous pouvez utiliser unset() ou la méthodearray_splice().
Si vous connaissez la valeur de l'élément du tableau mais pas la clé, vous pouvez utiliserarray_search()pour obtenir la clé.
méthode unset()
Notez que si vous utilisez la méthode unset(), cela ne modifiera pas les autres clés. Si vous souhaitez réorganiser et trier les autres clés, vous pouvez utiliserarray_values()。
<?php
$array = array(0 => "a", 1 => "b", 2 => "c");
unset($array[1]);
//↑ 你要删除的数组元素值的键
print_r($array);
?>
Résultat de sortie :
Array (
[0] => a
[2] => c
)
méthode array_splice()
Si vous utilisez la méthodearray_splice(), les clés du tableau seront automatiquement réindexées, mais cela ne fonctionne pas sur les tableaux associatifs. Vous devez utiliserarray_values()pour convertir les clés en clés numériques.
<?php
$array = array(0 => "a", 1 => "b", 2 => "c");
array_splice($array, 1, 1);
//↑ Offset which you want to delete
print_r($array);
?>
Résultat de sortie :
Array
(
[0] => a
[1] => c
)
array_splice()Cela a le même effet que la fonction unset() pour libérer un élément spécifié d'un tableau.
Supprimer plusieurs éléments d'un tableau
Si vous voulez supprimer plusieurs éléments d'un tableau, vous ne pouvez pas utiliser unset() ou la fonctionarray_splice(). Vous devez utiliserarray_diff()ou la méthodearray_diff_key(). Pour utiliser cette méthode, vous devez connaître la clé ou la valeur à supprimer.
méthode array_diff()
Si vous connaissez les éléments du tableau à supprimer, vous pouvez utiliser array_diff().
<?php
$array = array(0 => "a", 1 => "b", 2 => "c");
$array = array_diff($array, ["a", "c"]);
//└────────┘→你要删除的元素
print_r($array );
?>
Le résultat de sortie est:
Array
(
[1] => b
)
méthode array_diff_key()
Si vous connaissez la clé de l'élément du tableau à supprimer, vous pouvez utiliser array_diff_key(). Vous devez saisir la clé à supprimer à la position clé-valeur du deuxième paramètre de la fonction ; la valeur n'est pas requise et peut être n'importe quoi.
<?php
$array = array(0 => "a", 1 => "b", 2 => "c");
$array = array_diff_key($array, [0 => "xy", "2" => "xy"]);
//↑ ↑ 你要删除的数组键
print_r($array);
?>
Le résultat de sortie est:
Array (
[1] => b
)