in_array or equal to 'x'


in_array or equal to 'x'

如何检查用户是否属于数组中的组或其用户名($un)等于'X'。(如果不行的话,我想我可以把它分成两次检查)

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

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

谢谢. .

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

试着这样修复:

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

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

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

语法错误:

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

当错误信息显示"unexpected OR"时,它实际上就是它所说的…

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

右括号放错地方了。试一试:

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