PHP中的连接运算符

时间:2013-12-04 20:07:01

标签: php concatenation

在我前一段时间参加的会议期间,一位发言人的.NET程序员问了一个问题:

“为什么PHP中的连接运算符与其他语言不同?”

更确切地说,为什么它是一个点而不是一个加号?

当时,没有人知道答案。今天,在玩JavaScript时,我认为我找到了一个原因。如果这确实是它是一个点而不是加号的主要原因,我很好奇。

我将使用JavaScript作为示例:

var foo = 7;
var bar = 3;
console.log(foo+bar);

在这种情况下,两个变量的类型都是整数,因此加号的行为方式与数学中的相同,计算总和。结果将是10。

下一个场景:

var foo = 7;
var bar = "3";
console.log(foo+bar);

在这种情况下,“foo”是一个整数,“bar”是一个字符串。结果将是73.

我想用一个点来代替加号来消除这种特殊情况的歧义。

就在发布这个问题之前,我注意到一个关于SO的类似问题,它与我今天发现的问题有类似的答案。

这是问题的链接:Why is the php string concatenation operator a dot (.)?

除此之外还有其他原因吗?感谢您的时间,如果我需要在降级之前编辑我的问题,请告诉我。 :)

1 个答案:

答案 0 :(得分:5)

PHP was originally developed in Perl,它借用了很多语法。这包括使用.作为字符串连接运算符,使用前缀$作为变量名称。