2011-08-14 4 views
0

Lorsque vous utilisez la boucle foreach pour deux variables dans un tableau, la requête MySQL renvoie la première variable du tableau avec la seconde pendant la deuxième boucle pour une raison étrange. Quelqu'un sait-il quelle est la cause de cela? Le cache doit-il être effacé ou les variables doivent-elles être effacées?Problème PHP MySQL foreach loop

$db_array = array($id1,$id2); 
foreach ($db_array as &$db_id) { 

//MySQL code here 

} 
unset($db_id); 
+3

Vous avez probablement besoin de nous montrer un peu de code * (et le résultat que vous obtenez et ce que vous attendez) *, pour nous de comprendre votre problème –

+1

Deuxième boucle ... Je n'en vois qu'une ici? Un meilleur exemple de code pourrait nous aider à réellement aider. –

Répondre

0

Déplacer le unset (db_id de $); à la fin de l'foreach(), donc il serait

$db_array = array($id1,$id2); 
foreach ($db_array as &$db_id) { 

//MySQL code here 

unset($db_id); 
} 
+0

Malheureusement, cela n'a pas fonctionné non plus. – Peach

+0

Y a-t-il une raison pour laquelle vous avez un ** & ** avec $ db_id? (Y a-t-il quelque chose que je ne sais pas sur php?) – sman591

+1

C'est l'opérateur de référence par défaut en PHP - ici il vous permet de changer les éléments du tableau lorsque vous les parcourez. –