Почему эта итерация PHP не работает? - PullRequest
0 голосов
/ 17 апреля 2009

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

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

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

Ответы [ 4 ]

12 голосов
/ 17 апреля 2009

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

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

7 голосов
/ 17 апреля 2009

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

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

4 голосов
/ 17 апреля 2009

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

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

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

0 голосов
/ 17 апреля 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...