首页  >  文章  >  后端开发  >  请教:为什么 for($i=1;$i<=10;print $i++); 中的print不能换成echo呢?

请教:为什么 for($i=1;$i<=10;print $i++); 中的print不能换成echo呢?

WBOY
WBOY原创
2016-06-23 09:15:091654浏览

请教:为什么 for($i=1;$i


回复讨论(解决方案)

for($i=1;$iParse error: syntax error, unexpected 'echo' (T_ECHO), expecting ')' in .....
就是这么规定的,没有为什么

到底是什么样的需求 需要在 for 上打印?

好奇怪的写法

for($i=1;$iParse error: syntax error, unexpected 'echo' (T_ECHO), expecting ')' in .....
就是这么规定的,没有为什么


开始想是否是print和echo的返回值问题,可又想不明白,想搞懂,求指点!

到底是什么样的需求 需要在 for 上打印?


不是项目实战,就是看手册发现了这个问题......

好奇怪的写法


确实挺奇怪的,平时都没这么写

for($i=1;$iParse error: syntax error, unexpected 'echo' (T_ECHO), expecting ')' in .....
就是这么规定的,没有为什么


开始想是否是print和echo的返回值问题,可又想不明白,想搞懂,求指点!
是的,是返回值的问题,echo 没有返回值,所以不允许那么写

语法错了,改这样

for($i=1;$i<=10;$i++){    echo $i;}

语法错了,改这样

for($i=1;$i<=10;$i++){    echo $i;}


我知道可以这样写,就是想弄懂为什么一行写的时候echo替换print会出错

for ($i = 1; $i 
上面的写法  确实蛮奇怪的

语法错了,改这样

for($i=1;$i<=10;$i++){    echo $i;}


我知道可以这样写,就是想弄懂为什么一行写的时候echo替换print会出错

版主已经回答你了,因为print成功始终会返回1,而echo没有返回值,所以原语句相当于for($i=1;$i

赞同7楼+1

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn