Возможно ли в switch сделать проверку на < ( больше ) или > ( меньше )
Я знаю что можно:
<?php
if(...) {}
Значение > 0 ? 'Группа' : 'Пользователь';
Значение > 2000000 ? 'Беседа' : null;
?>
Но у меня приходит значение в виде числа (int)
Вопрос: возможно ли в switch проверять < >?
Пример: Мне от вк приходит значение:
1) больше 0: пользователь
2) меньше 0: группа
3) больше чем 20000000: беседа
Есть вариант switch (true):
switch (true) {
case $a > 100:
echo 'gt 100';
break;
case $a > 10:
echo 'gt 10';
break;
case $a > 0:
echo 'gt 0';
break;
}
Но тут надо правильно расположить условия, чтобы вы не попали в выполняющееся, но ненужное. Например, если расположить кейсы в обратном порядке (от 0 к 100), то при $a = 101 - мы попадем в gt 0.
$a = 10;
switch ($a > 5):
case true:
echo 'true';
break;
case false:
echo 'false';
break;
endswitch;
Только зачем switch, если есть if?
$a = 10;
echo ($a > 5) ? true : false; // 1(true)
Сборка персонального компьютера от Artline: умный выбор для современных пользователей