2012-01-14 52 views
3

我想兩個值在PHP比較使用下面這段代碼:PHP中這兩個比較有什麼區別?

if ($val1 != $val2) ..... 

if ($val1 <> $val2) ....... 

都是上面的比較代碼在各方面相同?

我很困惑哪個運營商使用這兩個(!=和<>) !!

更新:

先後此得到的東西做比較字符串或數字字符串?

+0

請保持您的問題具體和一個主題。如果您有其他問題,請考慮詢問一個新問題。我不太明白你想要提出什麼新的更新問題。字符串也被比較,是的。字符串與數字作爲文本以及。 – Kissaki 2012-01-14 09:06:14

+0

@Kissaki我覺得更新與我所問的問題有關......更新問題有什麼錯誤 - 如果更新涉及到問題? – Sandy505 2012-01-14 09:11:02

+0

嗯,沒什麼我想的。您是問操作員在處理字符串和/或字符串時是否有不同的數字? – Kissaki 2012-01-14 09:20:18

回答

5

php documentation on Comparison Operators告訴我們,其實!=<>做同樣的

兩個被命名爲「不等於」, 和被描述爲:如果$ a不等於$ b型雜耍後

TRUE。

雖然大多數人使用!=,因爲這更符合/不支持<>的其他編程語言。事實上,我不記得在任何PHP代碼中都看到<>

1

沒有區別,兩者具有相同的含義。

請檢查:!http://php.net/manual/en/language.operators.comparison.php

我建議使用C語言風格比較運算=

希望這有助於。

+0

如果在這些運算符中沒有diff,爲什麼有兩個存在?這個問題已經佔據了我的腦海! – Sandy505 2012-01-14 08:56:26

+1

我認爲這是因爲一些PHP開發者來自使用<>(Pascal,VB,..)和其他使用!=(C,SQL,Java)的環境。這使PHP語法更容易學習新手。 – rkosegi 2012-01-14 08:59:19

+1

@ Sandy505使用你喜歡的,但幾乎每個人都使用!=。我看到另一個只用於SQL,但如果你更喜歡它,那就去吧。但是如果你認爲將來有人會維護/修改你的代碼,那麼我會用最常用的方式去做,然後 – 2012-01-14 09:00:13

2

兩者都是一樣的(see docs),但是您一定要使用!=。我從來沒有見過任何人使用<>

我可以想象這是來自SQL,其中<>也被用作不等式運算符。

0

我認爲兩者是一樣的

+1

我不認爲「思考」是一個好的答案。至少給出一些讓你如此看待的論點。或者用代碼嘗試一下,並且建議這些測試他們是一樣的。或者給一些其他的參考/鏈接/報價。但輕微的猜測並沒有真正的幫助或值得標題*答案*,恕我直言。 – Kissaki 2012-01-14 09:03:38

+0

好的。抱歉。我剛剛給了我的意見。並且基於[php手冊](http://php.net/manual/en/language.operators.comparison.php),兩個操作符的名稱和結果都是相同的。所以我說我認爲他們是一樣的。 – braindead 2012-01-14 10:28:07

0

根據PHP手冊中沒有任何區別

$ A = $ B! - 不等於 - TRUE,如果$ a不等於$ b型雜耍後。
$ a <> $ b - 不等於 - 如果在類型雜耍後$ a不等於$ b,則爲TRUE。

我認爲最大的區別在於風格和習慣。
大部分時間我使用!=進行比較。它似乎更好讀,因爲,至少對我來說,總是指不是。另一方面,當我想做一個比較,我認爲比較是'小於'或'大於'但不'等於'我使用<>(非常罕見)。