PHP или изявление || - php

Използване на || (или)

Имам толкова много ценности, които трябва да сравнявам със същата променлива, има ли по-добър начин да пиша по-ефективно, например $city == -35 || -34 || -33 или дори по-просто, така че не трябва да повторя името на променливата, тъй като тя е същата променлива, само стойността продължава да се променя.

<?php

if ($city == -35 || $city == -34 || $xcity == -33)
{
$region = "noindex";
}

?>

Някакви предположения?

Отговори:

6 за отговор № 1

Може да използвате in_array()

if (in_array($city, array(-35, -34, -33))) {
$region = "noindex";
}

Или ако те са последователни (аз suspec те не са и това е само пример)

in_array($city, range(-35, -33))

4 за отговор № 2

Да. употреба in_array,

in_array($city, array(-35,-34,-33))

1 за отговор № 3

Можете да използвате:

if (in_array($city, array(-35, -34, -33))

1 за отговор № 4

Ако приемем това $xcity е печатна грешка,

switch ($city)
{
case -35:
case -34:
case -33:
$region = "noindex";
break;
}

0 за отговор № 5

Използвайте асоциативен масив. in_array сравнява всеки елемент в масива с вашия var. Използван асоциативен масив. По-бързо.

$cities = array(-33 => 1, -34 => 1, -35 => 1);
if (isset($cities[$city])) {
$region = "noindex";
}