Php 增量运算符在herdoc中的应用
我想通过使用herdoc中的增量运算符来增加变量的值。我的当前代码如下所示Php 增量运算符在herdoc中的应用,php,heredoc,Php,Heredoc,我想通过使用herdoc中的增量运算符来增加变量的值。我的当前代码如下所示 $counter = 0; for($i = 0; $i<10; $i++): echo <<< EOT $counter++ <br/> EOT; endfor; echo <<< EOT ++$counter <br/> EOT; echo <<< EOT {++$counter} <br/> E
$counter = 0;
for($i = 0; $i<10; $i++):
echo <<< EOT
$counter++ <br/>
EOT;
endfor;
echo <<< EOT
++$counter <br/>
EOT;
echo <<< EOT
{++$counter} <br/>
EOT;
“平均后增量”运算符不工作
我也尝试过预增量,如下所示
$counter = 0;
for($i = 0; $i<10; $i++):
echo <<< EOT
$counter++ <br/>
EOT;
endfor;
echo <<< EOT
++$counter <br/>
EOT;
echo <<< EOT
{++$counter} <br/>
EOT;
“平均预增量”操作符也不起作用
我也尝试过在花括号中加入增量操作,如下所示
$counter = 0;
for($i = 0; $i<10; $i++):
echo <<< EOT
$counter++ <br/>
EOT;
endfor;
echo <<< EOT
++$counter <br/>
EOT;
echo <<< EOT
{++$counter} <br/>
EOT;
我也在谷歌上搜索过,但没有找到任何有用的东西
我知道如果我可以在heredoc之前增加值,那么我可以在这里正确地打印它
$counter = 0;
for($i = 0; $i<10; $i++):
++$counter;
echo <<< EOT
$counter <br/>
EOT;
endfor;
$counter=0;
对于($i=0;$i),只允许变量访问表达式,而不允许PHP表达式本身
- 例如
{$var[…]}
- 或
{$var(…)}
- 和
{$var->prop…}
- 和
{${stat::$lookup}
{
+}
本身内不能有算术运算符。只能在与之一起使用的[…]
或(…)
之间有算术运算符
一种常见的解决方法是利用变量函数名:
$func = "htmlspecialchars"; // or any other no-op function
echo <<<HEREDOC
counter = {$func($counter++)}
HEREDOC;
$func=“htmlspecialchars”//或任何其他无操作函数
echo{$var}
实际上只适用于有限的变量访问表达式
例如,虽然这看起来像是一个抽象的例子,但你不能直接使用$i
吗?所以,你发现herdoc不支持递增变量。你有问题吗?没有,我没有找到。我现在假设它。@mario我可以使用$i
,但正确的名称可以增加代码的可读性。“在{+}本身中不能有算术运算符。但只能在[…]或(…)之间一起使用。”您能提供任何参考吗?请参阅手册链接。虽然这里只介绍了更多示例,但它列出了各种允许的表达式。