在 PHP 中,"aaa"+ "bbb"
会产生 0
。
我知道要在 PHP 中连接两个字符串,我需要使用 .
。但是我不知道为什么PHP中两个字符串的加法+
会产生这个结果?
最佳答案
当您对非数字使用算术运算符时,PHP 会将它们转换为整数类型。 PHP 有点聪明,所以字符串 "1"
会被转换为整数 1
而字符串 "1.0"
会被转换为 float ,但是"aaa"
将被转换为整数 0
,以及 "bbb"
。所以都转换为 0
是 0 + 0
这显然是 0
。
参见 PHP: String conversion to numbers .
从 PHP 7.1.0 开始,这会生成:
Warning: A non-numeric value encountered
但是,这很好,因为它们是数字而不是数字类型(字符串):
var_dump("1" + "2");
关于php - 为什么 PHP 中两个字符串相加 "+"会产生这个结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46942978/