示例 1
for($var=1;$var<=5;print $var,$var++);
//有效
例 2
for($var=1;$var<=5;echo $var,$var++);
//无效
以上两个陈述的行为并不是那么直截了当,任何人都可以解释为什么它们显示出不同的结果吗?
echo
是一种语言结构,而不是函数。它没有返回值。 print()
是一个函数,并且确实有一个返回值。
参考: http://php.net/echo http://php.net/print
虽然print
和echo
都是语言结构,但为 echo
定义的语法与您正在执行的操作冲突。具体说来:
echo 1, 2, 3, 4;
//output: 1234
这与循环定义的语法相冲突,这就是为什么我认为您不允许在那里使用echo
。