Adr*_*uer 7 php printing for-loop behavior echo
如果我print在这段代码中使用:
<?php
for($i = 1; $i <= 3; print $i . "\n") {
$i++;
}
?>
Run Code Online (Sandbox Code Playgroud)
我认为这是输出:
2
3
4
但是当我使用echo代码时不起作用:
<?php
for($i = 1; $i <= 3; echo $i . "\n") {
$i++;
}
?>
Run Code Online (Sandbox Code Playgroud)
我看到这个错误:
PHP解析错误:第3行的/media/datos/xampp/htdocs/temp/1.php中的语法错误,意外的'echo'(T_ECHO),期待')'
我的问题是:
print在for循环中使用第三个表达式,但在使用时不能使用echo,为什么它们的行为彼此不同?参考文献:
表达.print()的行为类似于一个函数,你可以这样做:$ ret = print"Hello World"; 并且$ ret将为1.这意味着打印可以用作更复杂表达式的一部分,其中echo不能.PHP手册中的一个例子:
$b ? print "true" : print "false";
Run Code Online (Sandbox Code Playgroud)
我的答案的某些部分是以下答案的一部分.我想这是你问题的答案.最重要的部分print()就像一个功能
看到这个答案:https://stackoverflow.com/a/234255/1848929
怎么样echo:
注意:因为这是一种语言结构而不是函数,所以不能使用变量函数调用它.
请参阅此页面上的注释部分:http://us2.php.net/manual/en/function.echo.php