$str1 = "01 "累加的问题
发现PHP一个很有趣的现象,不知道怎么解释这种现象。代码是这样的:
$str1 = "01 ";
$str1++;
echo $str1;//得到01
$str1 = "01";
$str1++;
echo $str1;//得到2
为什么说有意思呢,就是$str1都是字符串,但是第一个$str1等于的是"01 "多了一个空格,所以即使用了++,竟然输出还是本身。按道理,PHP对字符串计算不是会自动转换成数字(1)来强制累增吗,怎么因为包含有个空格就不计算了?
郁闷,求解释。谢谢了
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我觉得这样写会清楚一些:
参见这里的解释:
大意是说,使用自增/自减操作字符串时,可以递增但不能递减,另外只支持(字符串的末位为)纯 ASCII 字母和数字 (a-z、a-z 和 0-9)。(另外注意这段中文文档和英文的对不上,暂且以英文为准)