我不知道另外的操作如何在一个值的情况下,工作是数字和其他是字符串,例如:PHP-如何算术地添加字符串和数字值?
echo $j = 1 + "stackoverflow";
我试图执行这个表达式,它输出了我1 ..有人可以解释我为什么字符串不涉及另外,如果它涉及那么为什么它被转换为0?
我不知道另外的操作如何在一个值的情况下,工作是数字和其他是字符串,例如:PHP-如何算术地添加字符串和数字值?
echo $j = 1 + "stackoverflow";
我试图执行这个表达式,它输出了我1 ..有人可以解释我为什么字符串不涉及另外,如果它涉及那么为什么它被转换为0?
开始如果你这样做PHP将试图解析字符串的整数值。在这种情况下"stackoverflow"
被解析为0
。
您可以使用intval()
来了解字符串的整数值。
intval("stackoverflow"); // = 0
intval("123stackoverflow"); // = 123
玩弄它以适应它。
stackoverflow
开头没有数字那么PHP需要它0
1stackoverflow
是1,因为它与数字1
因为它试图将字符串转换为整数,然后将其添加到数字。它基本上是相同echo $j = 1 + intval("stackoverflow");
如果你想字符串拼接的数目,您必须使用连接运算符,即点:echo $j . "stackoverflow"
在上面的操作,PHP会尝试两个操作数转换为数字。因此,在这种情况下,“stackoverflow”字符串实际上转换为数字-0。为什么发生这种情况最好在this manual page - converting string to numbers中描述。请注意,
$j = 1 + "1stackoverflow"
将产生2结果。