为什么 echo 3 . print(2) . print(4) . 5 . 'c'的结果是45c2131

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了为什么 echo 3 . print(2) . print(4) . 5 . 'c'的结果是45c2131脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

例子:请写出echo 3 . PRint(2) . print(4) . 5 . 'c'的输出结果为____? 许多人看到这个题的第一印象是输出结果不就是3245c嘛,然而正确的是答案却是45c2131,是不是感觉不可思议? 想要分析原因首先我们需要明确以下几点:

  • PHP中的.连接符是从左向右执行的;
  • echo和print输出都是需要占用io的;
  • print函数有返回值且始终返回1。
  • print函数在打印输出时,会清空io存储

然后我们再来分析上面的的语句的执行过程

PHP">echo 3 . print(2) . print(4) . 5 . 'c';

程序从左至右执行, 第一步: 最初在io存储处存入 字符串 c,接着遇到5,存入io,此时io内容为5c,echo 在碰到print()时候将执行print(),即在把 5 放入io存储后由print(4)将数字4也同样压入io存储中,此时io存储中数据为45c,由于print()为输出函数(官方介绍print实际是语言结构,不是函数),所以此时会执行一次io输出操作,即输出 45c 到输出界面,清除io存储,io存储内此时数据为'',print()执行完成后返回1,此时界面上已经有了45c,而代码则变成了

PHP">echo 3.print(2).1;

第二步: 同上以此类推,这次会先将1放入io内,接着讲2放入io内,此时io内的内容为21,print执行输出操作,清空io,此时屏幕相等于已经输了了45c21,代码则变为了

PHP">echo 3.1;

第三步: 将1和3放入io,此时io内容为31,echo 将io内容输出到屏幕,此时最终结果为45c2131

同类例题: echo 3 . print(2) . print(4) . 5 . 'c' . print(6) . print(7) . 'b' . print(8) . 'a';的结果是什么呢? 结果是:8a7b16145c12131 有兴趣的可以看看自己的推算出的结果是否是正确的。

参考:

脚本宝典总结

以上是脚本宝典为你收集整理的为什么 echo 3 . print(2) . print(4) . 5 . 'c'的结果是45c2131全部内容,希望文章能够帮你解决为什么 echo 3 . print(2) . print(4) . 5 . 'c'的结果是45c2131所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: