Почему эта итерация PHP не работает?

Я хочу превратить результаты цикла foreach в строковую переменную, которую потом можно будет использовать повсюду (поэтому мне не нужно везде вставлять цикл foreach). У меня есть это:

foreach($pairs as $d=>$m) {
$orderedpairs .= "[".$d."],[".$m."]"+"<br />";
}
echo $orderedpairs;

Если я заменю оператор присваивания на "echo", он будет работать нормально, так что цикл в порядке, я думаю, что речь идет только о присваивании переменной. Спасибо!

4 ответа

Решение

Знак плюс вызывает сбой вашей конкатенации - измените его на .

Вопреки тому, что говорят другие, область действия вашей переменной не является проблемой. Вы МОЖЕТЕ объявить их внутри цикла и получить к ним доступ после этого. Переменные PHP не ограничены как Java, C# и другие языки.

У вас есть + там для объединения. Тебе нужно.

Также вы должны определить $orderpairs как пустую строку перед циклом.

На самом деле в вашем случае нет необходимости объединяться с оператором, вы можете просто сделать:

$orderedpairs .= "[$d],[$m]<br />";

и PHP заменит переменные их значениями.

Был ли $orderpairs объявлен пустой строкой перед циклом, чтобы создать экземпляр и перенести его в область видимости? Также окончательный + должен быть на самом деле.?

Другие вопросы по тегам