PHP中的连接运算符

PHP中的连接运算符,php,concatenation,Php,Concatenation,在我不久前参加的一次会议上,一位.NET程序员在会上发言,他问了一个问题: “为什么PHP中的连接运算符与其他语言不同?” 更确切地说,为什么它是一个点而不是一个加号 当时在场的人都不知道答案。今天,在玩JavaScript时,我想我找到了一个原因。如果这确实是它是一个点而不是一个加号的主要原因,我很好奇 我将使用JavaScript作为示例: var foo = 7; var bar = 3; console.log(foo+bar); 在本例中,两个变量的类型都是整数,因此加号的行为方式与

在我不久前参加的一次会议上,一位.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

我猜是用点而不是加号来消除关于这个特殊情况的一些歧义

在发布这个问题之前,我注意到了一个类似的问题,所以我今天发现了一个类似的答案

这是问题的链接:


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

,它从中借用了很多语法。这包括使用
作为字符串连接运算符,以及变量名的前缀
$

人们需要停止询问PHP的“为什么”。PHP是为了PHP而用PHP的方式做PHP的事情的。原理是这样的>>>>实际上,在编程语言中,使用相同的运算符进行连接和加法通常被认为是一个设计错误。PHP和Javascript都非常知道如何区分数字和字符串,他们只是选择让用户懒惰,并尝试做出合理的假设。这是非常实际的,但需要一点纪律,真的。。。PHP允许增加数组的事实让我更为困扰:)当我思考为什么PHP是这样设计的时候,我通常认为酒精起了主要作用。