如果我在此代码中使用print
:
<?php
for($i = 1; $i <= 3; print $i . "\n") {
$i++;
}
?>
我看作输出:
2
3
4
但是当我使用echo
代码时,代码无效:
<?php
for($i = 1; $i <= 3; echo $i . "\n") {
$i++;
}
?>
我看到了这个错误:
PHP Parse错误:语法错误,意外&#39;回声&#39; (T_ECHO),期待&#39;)&#39;在第3行的/media/datos/xampp/htdocs/temp/1.php
我的问题是:
print
循环中使用for
作为第三个表达式,但在使用echo
时却不能这样做?为什么它们之间的行为不同?参考文献:
答案 0 :(得分:6)
表达。 print()的行为就像一个函数,你可以这样做:$ ret = print&#34; Hello World&#34 ;;并且$ ret将为1.这意味着打印可以用作更复杂表达式的一部分,其中echo不能。一个 PHP手册中的示例:
$b ? print "true" : print "false";
我的答案的某些部分是以下答案的一部分。我想这是你问题的答案。最重要的部分是 print()
表现得像一个功能
请参阅此答案:https://stackoverflow.com/a/234255/1848929
echo
:
注意:因为这是一种语言结构,而不是一种功能 无法使用变量函数调用。
请参阅此页面上的备注部分:http://us2.php.net/manual/en/function.echo.php