switch и match

switch и match

    switch
    switch ($i) { case 0: echo "i равно 0"; case 1: echo "i равно 1"; case 2: echo "i равно 2"; }

    Если $i равно 0, то PHP исполнит все операторы echo! Если $i равно 1, PHP исполнит два последних оператора echo.
    Список операторов для исполнения в секции case также может быть пустым, что просто передаёт управление списку операторов в следующей секции case
    Специальный вид конструкции case - default. Сюда управление попадает тогда, когда не сработал ни один из других операторов case. Например:

    default: echo "i не равно 0, 1 или 2";

    Для более сложных сравнений в качестве значения switch может использоваться значение true.

    switch (true) { case $start - $offset === 1: print "A"; break; case $start - $offset === 2: print "B"; break; ..... ...

    Источник: https://www.php.net/manual/ru/control-structures.switch.php

    match

    match похоже на оператор switch, где исходное значение сравнивается с другими и в случае совпадения возвращается соотсветствующий результат
    В отличие от switch, в match используется строгое сравнение (===)
    В отличии от switch, match исполняется только одна, первая подошедшая, ветвь кода

    $email = "test@test.ru"; $result = match($email){ 'egor@test.ru' => "Привет Егор", 'ivan@test.ru' => "Привет Иван", 'test@test.ru' => "Привет test", }; var_dump($result);

    Может использоваться множественное условие, функция, операторы сравнения или условие по умолчанию:

    $a = 2; $b = 3; $c = 4; $x = 1; $result = match($x) { // Множественное условие: $a, $b, $c => 1, // Аналогично трём одиночным: $a => 2, $b => 3, $c => 4, default => 5, }; var_dump($result);
    Источники
    Последнее изменение: 06.11.2024 00:33


    Связанные темы
    Здесь пока нет комментариев
    Добавлять комментарии могут только авторизованные пользователи

    Авторизоваться
    Я буду рекламой
    Я тоже буду рекламой
    И я
    ВВЕРХ