微信号:gh_8590062d6d9b

介绍:原创/翻译的编程小知识, 目标是每篇文章只需一分钟时间阅读, 利用碎片时间学习技术

PHP 中, 1...1 的结果是什么?

2017-07-18 13:03 Yu Hao

如果你和我一样, 并不懂 PHP 的话, 可以猜一下下面的代码输出是什么:

echo 1...1;

11? 是 2?

都不对, 正确答案是: 10.1



要想知道为什么, 首先要知道 . 在 PHP 里是做什么的。 它有两个功能:

  • 作为小数点。 比如 1.2 就是实数 1.2, 注意 . 两边的整数部分和小数部分都可能缺失(但不能同时不存在)。 比如 1. 就是 1.0.1 则是 0.1, 小数点在很多语言中都是这样用的。

  • 作为字符串连接符。  如果连接符两边不是字符串, 那么就会被转换成字符串。 所以 1 . 1 等同于 '1' . '1', 结果都是字符串 '11'.

上面两条结合起来, 就得到答案了。  1...1 被解析成了三部分: 1. 也就是数字 1, 第二个 . 是字符串连接符, 最后一部分 .1 是数字 0.1. 三部分连起来, 就是字符串 '1''0.1' 连接起来, 结果是 10.1


 
一分钟的编程知识 更多文章 为什么 Chrome 会悄悄对一些奇怪的地址发起 DNS 请求? 你能看到这个字符么?  如果你不能接受最差的我,你就不配拥有最好的我 在 Git 递交消息中使用感叹号 www.stackoverflow.com\/admin.php 打开之后
猜您喜欢 如何实现APP外部流量召回和下载归因分析 当有人向你反馈了一个bug之后 Android高仿微信表情输入与键盘输入详解 MultiDex安装过程源码分析 《Ansible权威指南》目录及技术与运营的“掐架”