2011-08-14 122 views
0

当为数组中的两个变量使用foreach循环时,出于某种奇怪的原因,MySQL查询在第二个循环期间返回第一个数组变量和第二个变量。有人会知道这是什么原因吗?缓存是否需要清除或需要清除任何变量?PHP MySQL foreach循环问题

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

//MySQL code here 

} 
unset($db_id); 
+3

你可能需要向我们展示一些代码*(和你得到的结果,你所期望的)*,对于我们理解您的问题 –

+1

第二个循环......我只在这里看到一个?更好的代码示例可能会使我们得到实际的帮助。 –

回答

0

移动unset($ db_id);在的foreach()的结束,所以这将是

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

//MySQL code here 

unset($db_id); 
} 
+0

不幸的是,这也没有工作。 – Peach

+0

是否有一个原因,你有一个**和** $ db_id? (有什么我不知道的PHP?) – sman591

+1

它是PHP中的传递引用操作符 - 在这里它允许您在迭代它们时更改数组元素。 –