Исключить несколько значений в предложении if - PullRequest
2 голосов
/ 01 июня 2011

У меня 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
}

Ответы [ 2 ]

4 голосов
/ 01 июня 2011

В приведенном выше примере вам необходимо заменить || s на && 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...
}
4 голосов
/ 01 июня 2011

Вы можете поместить свои url-ы в массив строк:

$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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...