[RESOLU] Affichage array incohérent

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Affichage array incohérent

Re: Affichage array incohérent

par Duto Fujamee » 06 août 2012, 16:30

Après pas mal de recherche, j'ai trouvé l'origine du problème :
Apparemment, l'utilisation de références PHP corrompent les arrays.
Le bug a été signalé ici :
https://bugs.php.net/bug.php?id=29992
(par là même que j'ai pu identifier mon problème)

La solution : créer un 2e array qui copiera $contenu et contiendra les modifications voulues.

Affichage array incohérent

par Duto Fujamee » 06 août 2012, 15:05

Bonjour,

Je cherche simplement à écrire dans un fichier .ascii le contenu d'un array.

Pour ce faire, j'utilise ce bout de code : ($contenu correspond à mon array)
		foreach($contenu as $valeur)
			{
				file_put_contents('nav.ascii', $valeur, FILE_APPEND);
			}
Mais dans le résultat, je n'obtiens jamais le contenu du array...
Pour mieux comprendre le problème, voila un code test :
		print_r($contenu);
		foreach($contenu as $valeur)
			{
				echo "<br/>";
				echo $valeur;
				//file_put_contents('nav.ascii', $valeur, FILE_APPEND);
			}
Et voila le résultat à l'écran :

Code : Tout sélectionner

Array ( [0] => [1]test1 [1] => [2]test11 [2] => [1]test2 [3] => [1]test3 ) [1]test1 [2]test11 [2]test11 [1]test3
On voit ici que la troisième valeur de mon array "[1]test2" est remplacée par la deuxième valeur "[2]test11" dans la boucle foreach.

Quelqu'un sait d'où peut venir le problème ?