Есть ли более простой способ проверить, равна ли переменная множеству чисел?

Это то, что у меня есть в настоящее время

if ($j == 1 || $j == 2 || $j == 3) 

Есть ли более простой способ написать это. Что-то вроде…

псевдокод

 if ($j == 1-3) 

Вот один из способов использования in_array ()

 if (in_array($j, array(1,2,3))) { //do something } 

Или как насчет использования range () для создания массива

 if (in_array($j, range(1,3))) { //do something } 

Тем не менее, создание массива просто для проверки узкого, смежного диапазона, подобного этому, довольно неэффективно. Итак, как насчет просто:

 if ($j >= 1 && $j <= 3) { //do something } 

Если другие значения $ j будут запускать разные действия, коммутатор может быть более подходящим …

 switch($j) { case 1: case 2: case 3: //do something break; } 

Если это диапазон, вы можете просто сделать:

 if ($j >= 1 && $j <= 5) ... 

Пол хороший, но если у вас большое количество, вы можете использовать range :

 if (in_array($j, range(0, 100))) { }