我来自C#,发现有关php运营商.
和+
的烦恼是什么原因让两个不同的运营商出于同样的目的,添加?
所以,如果php有这两个原因,为什么C#没有?
对不起,这可能是一个愚蠢的问题,但对我来说,它看起来多余而烦人。
答案 0 :(得分:1)
PHP具有动态'或'类型直到运行时才知道'变量。即,解释器和/或程序员直到运行时才知道变量中的哪种类型的信息。现在,让我们假设您有两个变量,并且都包含也可以解释为数字的字符串。
即。 $ foo =" 2014"和$ bar =" 0301&#34 ;;
现在假设+加号必须弄清楚你想做什么?
您是否希望将这些视为数字并加在一起?给2315。
或者你可以排序'日期字段" 20140301'即yyyymmdd?
' +'没有办法操作员在所有情况下都知道并做正确的事情。
因此我们需要连接'运营商'。'。
' +'运算符始终转换为数字并添加。
'。'运算符总是转换为字符串和连接。
我们都需要。
使用'键入的语言'你总是可以从上下文中得出变量,即变量的类型,程序员的意图。