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

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

WBOY
发布: 2016-06-23 09:15:09
原创
1681 人浏览过

请教:为什么 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 <= 10; echo $i, $i++);

上面的写法 确实蛮奇怪的

语法错了,改这样

for($i=1;$i<=10;$i++){    echo $i;}
登录后复制
登录后复制
登录后复制


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

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

赞同7楼+1

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板