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 № 1Vous 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";
}