为什么在PHP中添加两个字符串的"+"会产生这个结果?

Yuh*_*Lin 8 php string

在PHP中,"aaa" + "bbb"会产生0.

我知道要在PHP中连接两个字符串,我需要使用..但是我不知道为什么+在PHP 中添加两个字符串会产生这个结果呢?

Abr*_*ver 7

当您对非数字使用算术运算符时,PHP会将它们转换为整数类型.PHP有点聪明,所以字符串"1"将被强制转换为整数1,字符串"1.0"将被强制转换为浮点数,但是"aaa"会被转换为整数0,以及"bbb".所以两者0都是0 + 0明显的0.

请参阅PHP:字符串转换为数字.

从PHP 7.1.0开始,这会生成:

警告:遇到非数字值

但是,这很好,因为它们是数字但不是数字类型(字符串):

var_dump("1" + "2");
Run Code Online (Sandbox Code Playgroud)