php - 为什么 PHP 中两个字符串相加 "+"会产生这个结果?

标签 php string

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

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

最佳答案

当您对非数字使用算术运算符时,PHP 会将它们转换为整数类型。 PHP 有点聪明,所以字符串 "1" 会被转换为整数 1 而字符串 "1.0" 会被转换为 float ,但是"aaa" 将被转换为整数 0,以及 "bbb"。所以都转换为 00 + 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/

相关文章:

java - 如何在Java中用不同的值替换字符串中多次出现的相同正则表达式模式

javascript - 如何在回显的js代码中分配php变量?

php - 字符串函数在 PHP 中是 ASCII 安全的吗?

php - 如何在表单中使用选择框并提交所选值?

c - 数组中的字符串到另一个数组中

javascript - 如何在 IF 语句内的字符串中使用条件

php - 如何发布与选择表单输入中显示的值不同的值

PHP四舍五入到小数点后第二位

java - 如何创建字符串的所有元音组合并将每个组合添加到 ArrayList

java - Java 中的字符串归并排序 - 链表