Это то, что у меня есть в настоящее время
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))) { }