PHP ou déclaration || - php

Utilisation de || (ou)

J'ai tellement de valeurs que je dois comparer avec la même variable. Existe-t-il un meilleur moyen d'écrire plus efficacement, tel que $city == -35 || -34 || -33 ou même plus simple, de sorte que je n'ai pas à répéter le nom de la variable car il ne s'agit que de la même variable, valeur en constante évolution.

<?php

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

?>

Aucune suggestion?

Réponses:

6 pour la réponse № 1

Vous pourriez utiliser in_array()

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

Ou s’ils sont consécutifs (j’imagine qu’ils ne sont pas et c’est juste un exemple)

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

4 pour la réponse № 2

Oui. Utilisation in_array,

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

1 pour la réponse № 3

Vous pouvez utiliser:

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

1 pour la réponse № 4

En admettant que $xcity est une faute de frappe,

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

0 pour la réponse № 5

Utilisez un tableau associatif. in_array compare chaque élément d'un tableau avec votre var. Tableau associatif utilisé hashtable. C'est plus rapide.

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