2014-01-15 82 views
2

我想知道是否有任何方法來檢查是否有任何大量的變量是相等的。 如果我只有幾個變量我只是這樣做:PHP等變量

if ($a == $b || $a == $c || $b == $c) 

但是,如果我有20個變量,它需要一定的時間來寫所有組合。有另一種方法嗎?

+0

切換聲明? – 2014-01-15 18:49:21

回答

13
if (count(array_unique(array($a, $b, $c), SORT_REGULAR)) === 1) { 
    // all equal 
} 

所有這些代碼的作用是將變量在陣列並消除重複。如果它們全部相等,則array_unique()的結果應該是具有一個值的數組。

如果你想確保它們都不同,它沒有太大的不同。只需檢查濾波陣列是否與原始陣列的大小相同:

​​
+1

與'array_unique'一起使用'SORT_REGULAR'標誌可能是一個好主意。 –

+0

我認爲這也是一個好主意。添加到我的答案。感謝您的反饋。 –

+0

對不起,不好的解釋,但我需要的是檢查是否沒有變量是相等的,如果都不相等。你有什麼想法如何做到這一點? –