使用||
(或)
我有很多值需要与同一个变量进行比较,是否有更好的方法来更有效地编写$city == -35 || -34 || -33
甚至更简单,这样我就不必重复变量名,因为它是相同的变量只有值不断变化。
<?php
if ($city == -35 || $city == -34 || $xcity == -33)
{
$region = "noindex";
}
?>
有什么建议吗?
答案 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";
}