我有3个数组,我想检查一个特定值是否在任何数组中。
例如:
$vipgold = array("tchan_c", "drbugs", "thesecondunicorn");
$vipsilver = array("bakterhaz", "sojmosicsaba", "andreja1987");
$vipbronze = array("the_camel", "teoriachaosu", "x_x_ultraslan_x_x" );
if (!in_array($login, $vipgold or $vipsilver or $vipbronze)){ // if not admin throw error and exit
$message = $pts->kocolor."Sorry but this feature avalaible only for VIP members. ";
$aseco->client->query('ChatSendServerMessageToLogin', $message, $login);
return;
那么如何检查$login
或$vipgold
或$vipsilver
中是否存在$vipbronze
?
答案 0 :(得分:2)
您可以使用array_merge
将两个数组合并在一起,然后将结果传递给in_array
:
$vipgold = array("tchan_c", "drbugs", "thesecondunicorn");
$vipsilver = array("bakterhaz", "sojmosicsaba", "andreja1987");
if (in_array($login, array_merge($vipsilver, $vipgold))) {
...
}
编辑:刚看到你编辑了你的问题也包含了$vipbronze
数组 - 你可以将任意数量的参数传递给array_merge
,所以如果你想要的话,可以添加它检查所有三个数组。
答案 1 :(得分:1)
尝试以下方法:
if(!in_array($login, $vipbronze) || !in_array($login, $vipgold) || in_array($login, $vipsilver))
{
//YOUR CODE HERE
}
这可以使用多个in_array
来分别搜索arayys中的值。