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
Libérer: 2024-11-28 06:08:18
original
505 Les gens l'ont consulté

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
Copier après la connexion

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)));
}
Copier après la connexion

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!

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