Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么php有两个不同的加法运算符?_Php_Operators_Addition - Fatal编程技术网

为什么php有两个不同的加法运算符?

为什么php有两个不同的加法运算符?,php,operators,addition,Php,Operators,Addition,我来自C#,对php操作符和+感到恼火。另外,为什么要使用两个不同的操作符来实现相同的目的 那么,如果php有这两个的原因,那么为什么C#没有呢 很抱歉,这可能是一个愚蠢的问题,但对我来说,这看起来是多余和烦人的。PHP有“动态”或“直到运行时才知道类型”变量。i、 e.解释器和/或程序员在运行时之前无法知道变量中的信息类型。现在,让我们假设您有两个变量,并且都包含也可以解释为数字的字符串 i、 e.$foo=“2014”和$bar=“0301” 现在假设+加号必须算出你想要做什么 您是否希望将

我来自C#,对php操作符
+
感到恼火。另外,为什么要使用两个不同的操作符来实现相同的目的

那么,如果php有这两个的原因,那么为什么C#没有呢


很抱歉,这可能是一个愚蠢的问题,但对我来说,这看起来是多余和烦人的。

PHP有“动态”或“直到运行时才知道类型”变量。i、 e.解释器和/或程序员在运行时之前无法知道变量中的信息类型。现在,让我们假设您有两个变量,并且都包含也可以解释为数字的字符串

i、 e.$foo=“2014”和$bar=“0301”

现在假设+加号必须算出你想要做什么

您是否希望将这些数据视为数字并相加?给2315

或者您是否需要“20140301”的“可排序”日期字段,即yyyymmdd

“+”运算符无法在所有情况下都知道并执行正确的操作

因此,我们需要“串联”运算符

“+”运算符始终转换为数字和加法

“.”运算符始终转换为字符串并连接

我们两者都需要


在使用“类型化”变量的语言中,您始终可以从上下文(即变量的类型)计算出程序员的意图。

不是加法运算符…
用于串联,
+
用于通常的加法运算。关于为什么需要下一票的注释对我有用吗?一旦我知道答案的错误之处,我就可以提高我的理解力,我的答案呢?我不会感到不安,我只是对它的错误感到困惑。