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

时间:2014-03-23 11:15:40

标签: php operators addition

我来自C#,发现有关php运营商.+的烦恼是什么原因让两个不同的运营商出于同样的目的,添加?

所以,如果php有这两个原因,为什么C#没有?

对不起,这可能是一个愚蠢的问题,但对我来说,它看起来多余而烦人。

1 个答案:

答案 0 :(得分:1)

PHP具有动态'或'类型直到运行时才知道'变量。即,解释器和/或程序员直到运行时才知道变量中的哪种类型的信息。现在,让我们假设您有两个变量,并且都包含也可以解释为数字的字符串。

即。 $ foo =" 2014"和$ bar =" 0301&#34 ;;

现在假设+加号必须弄清楚你想做什么?

您是否希望将这些视为数字并加在一起?给2315。

或者你可以排序'日期字段" 20140301'即yyyymmdd?

' +'没有办法操作员在所有情况下都知道并做正确的事情。

因此我们需要连接'运营商'。'。

' +'运算符始终转换为数字并添加。

'。'运算符总是转换为字符串和连接。

我们都需要。

使用'键入的语言'你总是可以从上下文中得出变量,即变量的类型,程序员的意图。