Maison >développement back-end >tutoriel php >Pourquoi la modification des valeurs de tableau dans une boucle Foreach ne fonctionne-t-elle pas et comment puis-je y remédier ?

Pourquoi la modification des valeurs de tableau dans une boucle Foreach ne fonctionne-t-elle pas et comment puis-je y remédier ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-28 06:08:18512parcourir

Why Doesn't Modifying Array Values in a Foreach Loop Work, and How Can I Fix It?

Modification des valeurs de tableau avec des boucles Foreach

Dans votre code, vous utilisez une boucle foreach pour parcourir le $bizaddarray et modifier chacun valeur à l’aide des fonctions strip_tags, ucwords et strtolower. Cependant, il semble que les balises HTML soient toujours présentes lorsque vous convertirez ultérieurement le tableau en chaîne. En effet, les boucles foreach créent par défaut une copie des éléments du tableau, de sorte que toutes les modifications que vous apportez à ces copies ne sont pas reflétées dans le tableau d'origine.

Modification directe des valeurs

Pour rendre les modifications permanentes, vous devez modifier directement les valeurs du tableau d'origine. Il existe deux façons d'y parvenir :

Méthode 1 : Utilisation de la référence mémoire

Cette méthode consiste à utiliser l'opérateur & pour obtenir une référence à la valeur d'origine du tableau. Toute modification que vous apportez via cette référence modifiera directement l'élément correspondant dans le tableau d'origine.

foreach ($bizaddarray as &$value) {
    $value = strip_tags(ucwords(strtolower($value)));
}
unset($value); // Remove the reference to prevent unintended modifications

Méthode 2 : Utilisation du tableau source

Cette méthode implique d'accéder au élément de tableau source à l’aide de la variable $key. Toute modification que vous apportez via cet élément mettra également à jour le tableau d'origine.

foreach ($bizaddarray as $key => $value) {
    $bizaddarray[$key] = strip_tags(ucwords(strtolower($value)));
}

En utilisant l'une ou l'autre de ces méthodes, les balises HTML doivent être définitivement supprimées des valeurs de votre tableau et elles seront reflétées dans la chaîne. conversion.

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!

Déclaration:
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