У меня есть строка heredoc, и я хочу поместить ++$var
в строку. Мой код на самом деле намного сложнее, но выглядит он просто так:
t=0;
for(i=1;i<=20;i++){
echo <<<EOT
{++$t} somestring {$i}
{++$t} otherstring {$i}
{++$t} anotherstring {$i}
{++$t} nextstring {$i}
{++$t} endstring {$i}
EOT;
}
В цикле for находится нумерованный список из 5 строк, которые непрерывно повторяются. И каждые 5 строк содержат одно и то же число $i
из цикла. Но ++$t
так работать не может. Любая идея, как заставить его работать?
Ожидаемый результат:
1 somestring 1
2 otherstring 1
3 anotherstring 1
4 nextstring 1
5 endstring 1
6 somestring 2
7 otherstring 2
8 anotherstring 2
9 nextstring 2
10 endstring 2
11 somestring 3
...
Обновление (спасибо за ответы): В этом документе нет решения. Лучше использовать конкатенацию строк и кавычки. Если в поле heredoc есть длинный текст, лучше всего использовать для него массив.
$array = ['somestring', 'otherstring', 'anotherstring' ...];
, а затем для сквозного цикла,echo ++$t . ' ' . $string . ' ' . $i;
. - person Dave Chen   schedule 12.03.2014