149 votes

Comment supprimer un élément de tableau dans une boucle foreach ?

Je veux boucler un tableau avec foreach pour vérifier si une valeur existe. Si la valeur existe, je veux supprimer l'élément qui la contient.

J'ai le code suivant :

foreach($display_related_tags as $tag_name) {
    if($tag_name == $found_tag['name']) {
        // Delete element
    }
}

Je ne sais pas comment supprimer l'élément une fois la valeur trouvée. Comment le supprimer ?

Je dois utiliser foreach pour ce problème. Il existe probablement des alternatives à foreach, et vous êtes invités à les partager.

246voto

Gumbo Points 279147

Si vous obtenez également la clé, vous pouvez supprimer cet élément comme ceci :

foreach ($display_related_tags as $key => $tag_name) {
    if($tag_name == $found_tag['name']) {
        unset($display_related_tags[$key]);
    }
}

12voto

Steve H Points 619
foreach($display_related_tags as $key => $tag_name)
{
    if($tag_name == $found_tag['name'])
        unset($display_related_tags[$key];
}

1voto

Lynx_BY Points 71

Essayez d'utiliser les fonctions next(), current() dans le cycle "while", "for".

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X