Използване на ||
(или)
Имам толкова много ценности, които трябва да сравнявам със същата променлива, има ли по-добър начин да пиша по-ефективно, например $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";
}