当前位置:Gxlcms > PHP教程 > 请教:为什么for($i=1;$i<=10;print$i++);中的print不能换成echo呢?

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

时间:2021-07-01 10:21:17 帮助过:19人阅读

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


回复讨论(解决方案)

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

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

好奇怪的写法

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


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

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


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

好奇怪的写法


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

for($i=1;$i<=10;echo $i++);
Parse 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<=10;1){$i++;}和for($i=1;$i<=10;){$i++;},显然echo会出错

赞同7楼+1

人气教程排行