加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

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

发布时间:2020-05-25 03:05:31 所属栏目:PHP 来源:互联网
导读:例子:请写出echo 3 . print(2) . print(4) . 5 . c的输出结果为____? 许多人看到这个题的第一印象是输出结果不就是3245c嘛,然而正确的是答案却是45c213

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

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

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

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,而代码则变成了

echo 3.print(2).1;

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

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 有兴趣的可以看看自己的推算出的结果是否是正确的。

参考:

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读