Меню
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON PHP КАК
     ❯   

PHP Учебник


PHP Формы


PHP Продвинутый


PHP ООП


MySQL База данных


PHP XML


PHP - AJAX


PHP Примеры


PHP Справочник



PHP match Выражение



Выражение match в PHP

Выражение match предоставляет новый способ обработки множественных условных проверок (как оператор switch).

Выражение match вычисляет выражение по нескольким альтернативам (используя строгое сравнение) и возвращает значение.

Совет: Выражение match появилось в PHP 8.0.

Вот ключевые различия между match и switch:

  • Выражение match имеет более читаемый синтаксис, чем switch
  • Выражение match возвращает значение, в то время как switch не возвращает
  • Выражение match автоматически прерывается после совпадения, в то время как switch требует break;
  • Выражение match использует строгое сравнение (===), в то время как switch использует нестрогое сравнение (==)

Синтаксис match

$результат = match($выражение) {
  условие1 => возвращаемое_значение1,
  условие2 => возвращаемое_значение2,
  условие3, условие4 => возвращаемое_значение3,
  default => значение_по_умолчанию,
}

Совет: Ветка default обрабатывает все выражения, которые не были сопоставлены.

Следующий пример эквивалентен примеру на странице switch, но здесь мы используем выражение match:

Пример

$favcolor = "red";

$text = match($favcolor) {
  "red" => "Your favorite color is red!",
  "blue" => "Your favorite color is blue!",
  "green" => "Your favorite color is green!",
  default => "Your favorite color is neither red, blue, nor green!",
};

echo $text;
Попробуйте сами »


Сопоставление нескольких значений

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

Пример

Сопоставление нескольких значений:

$d = 3;

$text = match($d) {
  1, 2, 3, 4, 5 => "The week feels so long!",
  6, 0 => "Weekends are best!",
  default => "Invalid day",
};

echo $text;
Попробуйте сами »

Ключевое слово default

В выражении match должно быть условие, которое соответствует выражению, или ветка default, чтобы обработать его.

Если нет совпадений и нет ветки default, выражение match выбрасывает исключение UnhandledMatchError.

Пример

Это выбросит исключение UnhandledMatchError:

$favcolor = "pink"; // ни одно условие не будет соответствовать этому

try {
  $text = match($favcolor) {
    "red" => "Your favorite color is red!",
    "blue" => "Your favorite color is blue!",
    "green" => "Your favorite color is green!",
  };
} catch (\UnhandledMatchError $e) {
  var_dump($e);
}

echo $text;
Попробуйте сами »


×

Связаться с отделом продаж

Если вы хотите использовать услуги schoolsw3 как образовательное учреждение, команда или предприятие, отправьте нам электронное письмо:
sales@schoolsw3.com

Сообщить об ошибке

Если вы хотите сообщить об ошибке или внести предложение, отправьте нам электронное письмо:
help@schoolsw3.com

Schoolsw3 оптимизирован для обучения и подготовки. Примеры могут быть упрощены для улучшения чтения и обучения. Учебники, ссылки и примеры постоянно проверяются, чтобы избежать ошибок, но мы не можем гарантировать полную правильность всего контента.
При использовании Schoolsw3 вы соглашаетесь прочитать и принять наши условия использования,
политику использования файлов cookie и конфиденциальности.

Авторское право 1999- © Copyright. Все права защищены. Schoolsw3 работает на SW3.CSS.