2013-04-14 91 views
1

如何檢查用戶是否屬於數組中的組或其用戶名($ un)等於'X'。 (做不到這一點,我想我可以讓2個獨立的檢查)in_array或等於'x'

我有以下的,但它給了我一個「意外或」錯誤:

<?php if (in_array('SMT', $adGroups)) or ($un == 'abc' || $un == 'xyz') echo 'blah'; ?> 

謝謝..

+1

你得到一個解析錯誤,因爲你不能做'if(foo)or bar()'。 –

回答

4

語法的你的代碼是錯誤的,你有一個額外的右括號)

嘗試這樣的修復它:

if (in_array('SMT', $adGroups) || $un == 'abc' || $un == 'xyz') { 
    //Your code here 
} 
+0

Sorted!謝謝,Uby。你是明星:) – detjo

1

移動第二右括號,以你的條件結束:

if (in_array('SMT', $adGroups) or ($un == 'abc' || $un == 'xyz')) echo 'blah'; 
0

你有一個錯誤的地方在右括號。嘗試:

if (in_array('SMT', $adGroups) or ($un == 'abc' || $un == 'xyz')) echo 'blah'; 
1

這是一個語法錯誤:

if (in_array('SMT', $adGroups)) or ($un == 'abc' || $un == 'xyz')... 
          ^

當一個錯誤消息指出「意外OR」實際上就意味着它說什麼......

+0

大聲笑..我想明白了,因此後。問題是我該如何解決它。無論如何,現在修好了! – detjo

1

精緻的步驟是if (in_array("SMT", $adGroups, true) || in_array($un, ["abc", "xyz"], true)) { print "blah"; },這將使您能夠在用戶檢查部分中指定儘可能多的不同用戶。避免多個if()語句,它可以更快地解決檢查問題。