echo '1'.print(2)+3; 的输出结果为什么是511
2023-11-17 00:45:39
今天看到一道有趣的题目,如上所示。结果为什么会是511呢?
这个结果的计算分为三步来理解:
首先计算的是 右边print(2)+3,这个你可以直接理解成print(2+3),得到的结果是5。而print是一个函数,
它的返回值总是1。
第二步就是echo '1'.print('结果')(返回值是1),因此会得到11的结果。
第三部就是将之前计算的结果进行连接,并最终进行输出,得到的结果就是511了。
类似的,可以解释为什么echo '2' . print(2) + 3;的结果是521,
echo '1' . (print '2') + 3;结果是214
当然啦,实际的开发并不会出现这种情况!建议在开发中,最好不要将echo与print混合起来使用。
这里仅是一个有趣味的题而已!
最新文章
- mysql 索引查询的问题
- javacsript Numnber 对象
- AngularJs的UI组件ui-Bootstrap分享(三)——Accordion
- 禁止苹果浏览器Safari将数字识别成电话号码的方法
- OPENSSL 学习整理-介绍
- S1:函数上下文
- make clean、make mrproer、make distclean
- eclipse设置默认编码格式为UTF-8
- shell 基础 $(cd `dirname $0`;pwd)
- 转:web_custom_request 和 web_submit_data的差别
- 奇舞js笔记——第0课——如何写好原生js代码
- HTTP与HTTPS
- 419 JQuery and BootStrap
- Android多种样式的进度条
- ajax 跨域请求解决方案
- CF Educational Codeforces Round 57划水记
- (栈)leetcode856 Score of Parentheses
- C# Work PPT to PDF
- hdu2255 奔小康赚大钱,最大权匹配,KM算法
- 蒲公英: 一个提供App 存储、分发、Bug管理的网站