Maison > développement back-end > tutoriel php > Comment puis-je supprimer un élément d'un tableau PHP par valeur et non par clé ?

Comment puis-je supprimer un élément d'un tableau PHP par valeur et non par clé ?

Barbara Streisand
Libérer: 2024-12-23 19:46:10
original
337 Les gens l'ont consulté

How Can I Remove an Element from a PHP Array by Value, Not Key?

Suppression d'éléments d'un tableau PHP par valeur (pas par clé)

Lorsque vous traitez des tableaux en PHP, il est souvent nécessaire de supprimer des éléments en fonction sur leurs valeurs plutôt que sur leurs clés. Considérons un tableau comme celui-ci :

$messages = [312, 401, 1599, 3, ...];
Copier après la connexion

Les valeurs de ce tableau étant uniques, comment pouvons-nous supprimer sélectivement un élément avec une valeur spécifique sans connaître sa clé ?

Solution : Utilisation de array_search() et unset()

PHP fournit deux fonctions utiles à cet effet : array_search() et unset(). La combinaison de ces fonctions nous permet de rechercher la clé de l'élément puis de le supprimer du tableau. Voici comment cela fonctionne :

if (($key = array_search($del_val, $messages)) !== false) {
    unset($messages[$key]);
}
Copier après la connexion

Ce code utilise array_search() pour trouver la clé de l'élément avec la valeur $del_val. Si la clé n'est pas trouvée, array_search() renvoie FALSE. Cependant, nous utilisons l'opérateur de comparaison strict !== pour garantir que l'expression n'est évaluée à vrai que si array_search() renvoie explicitement FALSE, en évitant les valeurs false-y (par exemple, clé 0).

Si la clé est trouvé, la fonction unset() est utilisée pour supprimer l'élément du tableau $messages. Il est important de noter que unset() fonctionne par clé, c'est pourquoi nous devons d'abord obtenir la clé de array_search().

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal