1

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

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

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

谢谢 ..

4

5 回答 5

4

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

尝试像这样修复它:

if (in_array('SMT', $adGroups) || $un == 'abc' || $un == 'xyz')  {
    //Your code here
}
于 2013-04-14T13:47:56.220 回答
1

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

if (in_array('SMT', $adGroups) or ($un == 'abc' || $un == 'xyz')) echo 'blah';
于 2013-04-14T13:47:56.123 回答
1

这是一个语法错误:

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

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

于 2013-04-14T13:48:49.080 回答
1

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

于 2013-04-14T13:55:02.387 回答
0

你的右括号放错了地方。尝试:

if (in_array('SMT', $adGroups) or ($un == 'abc' || $un == 'xyz')) echo 'blah';
于 2013-04-14T13:48:07.000 回答