2012-07-11 141 views
0

如何停止嵌套foreach循环从重置内部数组指针 例如嵌套foreach循环阵列复位

foreach ($example as $example2) 
{ 
foreach ($xample as $xample2); 
{ 
} 
} 

所以,例如,如果,例如$ $ & xample包含在数组(1,2,3 )

我想要做这样的事情

foreach ($example as $example2) 
{ 
do something with array[1] 
foreach ($xample as $xample2); 
{ 
do something else with array[1] 
} 
} 

然后继续2,3等... 希望我的问题为c李尔因为我明白了什么是内部数组指针被第二循环中复位http://us2.php.net/manual/en/control-structures.foreach.php

编辑 所以这是发生了什么事,现在 说$例如包含以下值1,2,3 & $ xample包含相同的价值观

foreach ($example as $example2) 
{ 
echo ($example2) 
foreach $xample as xample2) 
{ 
echo ($xample2) 
} 
} 

输出看起来是这样的,第一循环输出1,2,3,第二循环刚输出1,1,1 我要的是有,第一循环1,2, 3 2nd loop 1,2,3

E DIT 2 代码在这里http://codepad.org/r1py8HR5 粘贴输出显示有5个$例子& 7 $ xample被回荡 和& xample包含相同$ fname2 7倍

+2

数组[1]是什么意思? – ninetwozero 2012-07-11 08:31:29

+0

我的意思是如果数组[某些值1,某个值2]等。 – 2012-07-11 08:34:30

+0

你可以在http://codepad.org/上创建一个简单的工作示例,如果你想:) – biziclop 2012-07-11 08:37:28

回答

0

每个阵列具有它自己的阵列的指针。所以嵌套你的foreach循环不需要任何预防措施,它会像你编码一样工作。

UPDATE:

在回答您的编辑,我认为你的错误是在其他地方。我重新创建了您的示例,它看起来可以按您的需要工作(请参阅http://codepad.org/nJrZqCoO)。

+0

foreach在给定数组的副本上工作。所以你的例子会适用于知道他在做什么的人;) – Yoshi 2012-07-11 08:47:17

+0

你是对的,谢谢。我只是纠正它。 – 2012-07-11 08:49:32

+0

@Sloede我能想到的唯一可能导致错误的是我正在用它创建另一个变量,就像这个$ url =“http:// mysite /”。$ xample2。“” – 2012-07-11 17:16:55