in_array或等于'x'

时间:2013-04-14 13:44:40

标签: php

如何检查用户是否属于数组中的组,或者用户名($ un)是否等于“X”。 (如果不这样做,我想我可以进行2次单独的检查)

我有以下内容,但它给了我一个'意外的OR'错误:

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

谢谢..

5 个答案:

答案 0 :(得分:4)

您的代码语法错误,您有一个额外的结束括号)

尝试修复它:

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

答案 1 :(得分:1)

将第二个右括号移动到条件的结尾:

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

答案 2 :(得分:1)

这是语法错误:

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

当错误消息显示“意外OR”时,它实际上意味着它所说的......

答案 3 :(得分:1)

精炼步骤为if (in_array("SMT", $adGroups, true) || in_array($un, ["abc", "xyz"], true)) { print "blah"; },这使您能够在用户检查部分中指定任意数量的不同用户。避免使用多个if()语句,它可以更快地解决检查问题。

答案 4 :(得分:0)

您的右括号位于错误的位置。尝试:

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