foreach ($arr1 as $v){
...
}
foreach ($arr2 as $v){
...
}
然后,两个$v
会有一些奇怪的行为。如果我用$v
替换第二个$v2
,那么一切正常。
答案 0 :(得分:1)
如果你没有嵌套循环,请在第一个foreach循环之后和第二个foreach循环之前尝试unset()
ting $v
。
答案 1 :(得分:0)
正在发生的任何“奇怪行为”可能是因为您正在嵌套foreach循环,因此将需要将第二个公开的$v
的var名称更改为第一个{ {1}}将在第二个(嵌套)foreach的范围内可用。
答案 2 :(得分:0)
如果您有类似
的内容foreach($arr1 as $v
{
foreach($arr2 as $v)
{
// Code
}
}
我可以看到一个问题。否则我们需要更好地定义“奇怪的行为”。
答案 3 :(得分:-1)
在
的情况下foreach ($arr1 as $v) {
// some code ...
foreach ($arr2 as $v) {
// more code
}
// here you might see something unexpected, namely the last $v of the inner loop, not the current $v of the outer loop
}
但是,如果你有两个foreach
循环一个接一个,而不是嵌套,我无法想象你看到了什么奇怪的行为。