switch < или > в (int)

171
26 февраля 2022, 20:40

Возможно ли в switch сделать проверку на < ( больше ) или > ( меньше )

Я знаю что можно:

<?php
if(...) {}
Значение > 0 ? 'Группа' : 'Пользователь';
Значение > 2000000 ? 'Беседа' : null;
?>

Но у меня приходит значение в виде числа (int)

Вопрос: возможно ли в switch проверять < >?

Пример: Мне от вк приходит значение:

1) больше 0: пользователь
2) меньше 0: группа
3) больше чем 20000000: беседа

Answer 1

Есть вариант 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.

Answer 2
$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)
READ ALSO
RestAPI - как реализовать возврат данных?

RestAPI - как реализовать возврат данных?

В общем делаю проект на Laravel с RestApi и vuejsВозврат products делаю с использованием ApiResource в Laravel

77
работа с массивом через foreach

работа с массивом через foreach

Стоит задача вывести из БД таблицу с заголовкомДля отображения заголовка использую foreach, но если использовать такой код:

78
Названия тестов + нумерация в codeception

Названия тестов + нумерация в codeception

Не могу найти в документации имеется ли возможность в codeception делать нумерованный вывод тестов в консоль, а так же не могу найти как менять...

132
Вывод подрубрики через шорткод Wordpress

Вывод подрубрики через шорткод Wordpress

Помогите пожалуйста Нужно вывести подрубрики на страницу основной рубрики которая сделана через ElementorМожно ли вывести как то через шорткод...

60