Match конструкциясы

match конструкциясы PHP 8.0'да пайда болуп, switch менен салыштырганда кыска жана коопсуз бутактануу ыкмасын сунуштайт. Ал салыштыруу үчүн бир туюнтманы кабыл алып, дал келген биринчи шарттын натыйжасын кайтарат. switch'тен айырмаланып, match тык салыштырууну (===) аткарып, break'ти талап кылбайт.

Синтаксис

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

Мисал

Санды жөнөкөй дал келтирүү:

php<?php
  $res = match (2) {
    1 => 'Бир',
    2 => 'Эки',
    3 => 'Үч',
    default => 'Белгисиз'
  };
  echo $res;
?>

Кодду иштетүүнүн натыйжасы:

php'Эки'

Мисал

Бир нече шарт менен дал келтирүү:

php<?php
  $age = 25;
  $res = match (true) {
    $age < 18 => 'Бала',
    $age >= 18 && $age < 65 => 'Чоң киши',
    $age >= 65 => 'Кары'
  };
  echo $res;
?>

Кодду иштетүүнүн натыйжасы:

php'Чоң киши'

Мисал

Массивдер менен колдонуу:

php<?php
  $arr = [1, 2, 3];
  $res = match ($arr) {
    [1, 2, 3] => 'Биринчи ыраат',
    [4, 5, 6] => 'Экинчи ыраат',
    default => 'Башка ыраат'
  };
  echo $res;
?>

Кодду иштетүүнүн натыйжасы:

php'Биринчи ыраат'

Ошондой эле караңыз

  • switch оператору,
    бутактануунун альтернативдүү ыкмасын сунуш кылат
  • if функциясы,
    шарттуу операторлорду аткарат