【发布时间】:2013-11-03 13:47:18
【问题描述】:
示例 1
for($var=1;$var<=5;print $var,$var++); //有效
示例 2
for($var=1;$var<=5;echo $var,$var++); //无效
上述两个语句的行为并不是那么直接,任何人都可以解释为什么它们显示不同的结果吗?
【问题讨论】:
示例 1
for($var=1;$var<=5;print $var,$var++); //有效
示例 2
for($var=1;$var<=5;echo $var,$var++); //无效
上述两个语句的行为并不是那么直接,任何人都可以解释为什么它们显示不同的结果吗?
【问题讨论】:
echo 是一种语言结构,而不是函数。它没有返回值。 print() 是一个函数,并且有返回值。
【讨论】:
print() 也是一种语言结构,但我假设因为echo 的语法允许echo 1, 2, 3 输出与循环声明的语法冲突的123,所以它是不允许的.
,。
虽然print 和echo 都是语言结构,但为echo 定义的语法与您正在执行的操作相冲突。具体来说:
echo 1, 2, 3, 4;
//output: 1234
这与循环定义的语法冲突,这就是为什么我认为你不能在那里使用echo。
【讨论】: