АКЦЫЯ: бясплатныя месячныя курсы па стварэнні сайтаў
на выбар: вёрстка, JavaScript, PHP, Python або фрэймворкі. Сёння апошні дзень для запісу! Націскай!
9 of 410 menu

Канструкцыя match

Канструкцыя match з'явілася ў PHP 8.0 і прадастаўляе больш кароткі і бяспечны спосаб галінавання ў параўнанні з switch. Яна прымае выраз для параўнання і вяртае значэнне першай умовы, якая супала. У адрозненне ад switch, match выконвае строгае параўнанне (===) і не патрабуе break.

Сінтаксіс

$result = match ($value) { condition1 => result1, condition2 => result2, ... default => default_result };

Прыклад

Простае супастаўленне ліку:

<?php $res = match (2) { 1 => 'One', 2 => 'Two', 3 => 'Three', default => 'Unknown' }; echo $res; ?>

Вынік выканання кода:

'Two'

Прыклад

Супастаўленне з некалькімі ўмовамі:

<?php $age = 25; $res = match (true) { $age < 18 => 'Child', $age >= 18 && $age < 65 => 'Adult', $age >= 65 => 'Senior' }; echo $res; ?>

Вынік выканання кода:

'Adult'

Прыклад

Выкарыстанне з масівамі:

<?php $arr = [1, 2, 3]; $res = match ($arr) { [1, 2, 3] => 'First sequence', [4, 5, 6] => 'Second sequence', default => 'Other sequence' }; echo $res; ?>

Вынік выканання кода:

'First sequence'

Глядзіце таксама

  • аператар switch,
    які прадастаўляе альтэрнатыўны спосаб галінавання
  • функцыю if,
    якая выконвае ўмоўныя аператары
byenru