foreach ($arr1 as $v){
...
}
foreach ($arr2 as $v){
...
}
тогда два $v
будут иметь странное поведение. Если я заменил второй $v
на $v2
, тогда все будет в порядке.странное поведение в PHP temp var
foreach ($arr1 as $v){
...
}
foreach ($arr2 as $v){
...
}
тогда два $v
будут иметь странное поведение. Если я заменил второй $v
на $v2
, тогда все будет в порядке.странное поведение в PHP temp var
Если вы не вложили петли, попробуйте unset()
ting $v
сразу после первого цикла foreach и перед вторым циклом foreach.
Любое «странное поведение», что это происходит, вероятно, потому, что вы вложенность петли Foreach, так что вы будут необходимо изменить название уага второй открытой $v
как первый $v
будет доступны в сфере действия второй (вложенный) foreach.
Если у вас есть что-то вроде
foreach($arr1 as $v
{
foreach($arr2 as $v)
{
// Code
}
}
я мог видеть проблему. В противном случае нам нужно лучшее определение «странного поведения».
В случае
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
петли один за другим, не вложен, я не могу себе представить, что странное поведение, которое вы видите.
Не копируйте ответы других людей. –
@Josh K: Я не вижу ничего скопированного ... – NikiC
@nikic: Это очень ** очень похоже на мой ответ. –
define: странное поведение – Iznogood
Вы получите странное поведение, если первый цикл использовал ссылку, например. 'foreach ($ arr1 as & $ v) {}' - последний элемент в '$ arr2' будет привязан к каждому элементу' $ arr1' по очереди. –
Его довольно удивительно, как столь плохо сформулированный вопрос получает так много * вероятно хороших * ответов. – Frankie