【发布时间】:2019-02-16 17:30:36
【问题描述】:
我想通过使用 heredoc 中的增量运算符来增加变量的值。我当前的代码如下...
$counter = 0;
for($i = 0; $i<10; $i++):
echo <<< EOT
$counter++ <br/>
EOT;
endfor;
它的输出是……
0++
0++
.
.
平均后增量运算符不起作用。
我也尝试过预增量,如下所示...
echo <<< EOT
++$counter <br/>
EOT;
它的输出是……
++0
++0
.
.
平均预增量运算符也不起作用。
我还尝试将增量操作放在花括号内,如下所示...
echo <<< EOT
{++$counter} <br/>
EOT;
但还是没有运气。输出是....
{++0}
{++0}
.
.
我也在谷歌上搜索过,但没有找到任何有用的东西。
我知道我是否可以在 heredoc 之前增加价值,那么我可以在 here doc 中正确打印它
$counter = 0;
for($i = 0; $i<10; $i++):
++$counter;
echo <<< EOT
$counter <br/>
EOT;
endfor;
效果很好。
但我想在 heredoc 中使用增量运算符,就像我们在 echo 中使用单引号或双引号一样。
但似乎 heredoc 不支持增量操作。
【问题讨论】:
-
{$var}实际上只适用于有限的变量访问表达式。{$countupfunc($counter)}之类的东西,例如虽然这看起来像是一个抽象的例子,但你不能直接使用$i吗? -
所以,您发现heredoc 不支持递增变量。你有问题吗?
-
不,我没找到。我现在就猜到了。
-
@mario 我可以使用
$i,但正确的名称会增加代码的可读性。