排除if子句中的多个值


Exclude multiple values in if clause

我有30个站点,我需要在其中24个站点上回显一些内容。我怎样才能排除其他人?这个代码不起作用,因为我认为它的逻辑是假的:)

$currentsite = get_bloginfo('wpurl'); // Here i get the curent site.

如果当前站点与以下6个站点中的任何一个匹配,则不应运行If子句。

if ( $currentsite != 'site 1' || 
$currentsite != 'site1' || 
$currentsite != 'site2'|| 
$currentsite != 'site3' || 
$currentsite != 'site4' ||
$currentsite != 'site5' ) {
do something
}

您可以将url-s放在字符串数组中:

$linksArray = array();
$linksArray[] = 'site1';
$linksArray[] = 'site2';
$linksArray[] = 'site3';
$linksArray[] = 'site4';
$linksArray[] = 'site5';
$linksArray[] = 'site6';

然后可以使用in_array()函数,如下所示:

if (!in_array($currentsite, $linksArray) {
   // echo your something
}

因此,如果当前url不在包含可排除url的数组中,它将回显您的文本。

在上面的例子中,您需要用&s:

if ($current_site != 'site1' && $current_site != 'site2' ...) 

一个更简单的方法是创建一个排除的站点数组,并否定in_array检查:

$excluded_sites = array ('site1','site2','site3');
if (!in_array($current_site, $excluded_sites)) {
    do something...
}