PHP-如何以算术方式添加字符串和数字值?

时间:2012-10-31 10:24:16

标签: php

我想知道如果一个值是数字而另一个值是字符串,则加法的操作如何工作例如:

echo $j = 1 + "stackoverflow";

我尝试执行这个表达式,它输出我1 ..有人可以解释为什么字符串不参与其中,如果它涉及那么为什么它被转换为0?

4 个答案:

答案 0 :(得分:3)

stackoverflow以无数字开头,因此php将其取为0

1stackoverflow将为1,因为它以数字1开头

答案 1 :(得分:2)

如果这样做,PHP会尝试解析字符串的整数值。在这种情况下,"stackoverflow"被解析为0

您可以使用intval()自己查看字符串的整数值。

intval("stackoverflow"); // = 0
intval("123stackoverflow"); // = 123

玩它来习惯它。

答案 2 :(得分:1)

在上面的操作中,PHP将尝试将两个操作数转换为数字。因此,在这种情况下,“stackoverflow”字符串实际上转换为数字-0。为什么会发生这种情况最好在this manual page - converting string to numbers中说明。注意

$j = 1 + "1stackoverflow"

将产生2作为结果。

答案 3 :(得分:0)

因为它试图将字符串转换为整数,然后将其添加到数字中。它与echo $j = 1 + intval("stackoverflow");基本相同 如果要将字符串连接到数字,则必须使用连接运算符,即点:echo $j . "stackoverflow"