在我前一段时间参加的会议期间,一位发言人的.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 (.)?
除此之外还有其他原因吗?感谢您的时间,如果我需要在降级之前编辑我的问题,请告诉我。 :)