PHP或声明||

时间:2012-03-16 01:05:12

标签: php

使用||(或)

我有很多值需要与同一个变量进行比较,是否有更好的方法来更有效地编写$city == -35 || -34 || -33甚至更简单,这样我就不必重复变量名,因为它是相同的变量只有值不断变化。

<?php

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

?>

有什么建议吗?

5 个答案:

答案 0 :(得分:6)

您可以使用in_array()

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

或者如果它们是连续的(我怀疑它们不是,这只是一个例子)

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

答案 1 :(得分:4)

是。使用in_array

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

答案 2 :(得分:1)

您可以使用:

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

答案 3 :(得分:1)

假设$xcity是拼写错误,

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

答案 4 :(得分:0)

使用关联数组。 in_array将数组中的每个元素与var进行比较。关联数组使用哈希表。它更快。

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