Muundo match

Muundo match ulionekana katika PHP 8.0 na hutoa njia fupi na salama zaidi ya matawi ikilinganishwa na switch. Hukubali usemi wa kulinganisha na hurudisha thamani ya sharti la kwanza linalofanana. Tofauti na switch, match hufanya ulinganisho mkali (===) na haihitaji break.

Syntax

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

Mfano

Ulinganisho rahisi wa nambari:

php<?php
  $res = match (2) {
    1 => 'Moja',
    2 => 'Mbili',
    3 => 'Tatu',
    default => 'Haijulikani'
  };
  echo $res;
?>

Matokeo ya utekelezaji wa kodi:

php'Mbili'

Mfano

Ulinganisho na masharti mengi:

php<?php
  $age = 25;
  $res = match (true) {
    $age < 18 => 'Mtoto',
    $age >= 18 && $age < 65 => 'Mtu Mzima',
    $age >= 65 => 'Mzee'
  };
  echo $res;
?>

Matokeo ya utekelezaji wa kodi:

php'Mtu Mzima'

Mfano

Matumizi na arrays:

php<?php
  $arr = [1, 2, 3];
  $res = match ($arr) {
    [1, 2, 3] => 'Mfuatano wa kwanza',
    [4, 5, 6] => 'Mfuatano wa pili',
    default => 'Mfuatano mwingine'
  };
  echo $res;
?>

Matokeo ya utekelezaji wa kodi:

php'Mfuatano wa kwanza'

Angalia pia

  • kiendeshaji switch,
    ambacho hutoa njia mbadala ya matawi
  • kitendo if,
    ambacho hutekeleza viendeshaji viwili