Konstruksi match

Konstruksi match hadir di PHP 8.0 dan menyediakan cara percabangan yang lebih ringkas dan aman dibandingkan dengan switch. Ia menerima ekspresi untuk perbandingan dan mengembalikan nilai dari kondisi pertama yang cocok. Tidak seperti switch, match melakukan perbandingan ketat (===) dan tidak memerlukan break.

Sintaks

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

Contoh

Pencocokan angka sederhana:

php<?php
  $res = match (2) {
    1 => 'Satu',
    2 => 'Dua',
    3 => 'Tiga',
    default => 'Tidak Dikenal'
  };
  echo $res;
?>

Hasil eksekusi kode:

php'Dua'

Contoh

Pencocokan dengan beberapa kondisi:

php<?php
  $age = 25;
  $res = match (true) {
    $age < 18 => 'Anak',
    $age >= 18 && $age < 65 => 'Dewasa',
    $age >= 65 => 'Lansia'
  };
  echo $res;
?>

Hasil eksekusi kode:

php'Dewasa'

Contoh

Penggunaan dengan array:

php<?php
  $arr = [1, 2, 3];
  $res = match ($arr) {
    [1, 2, 3] => 'Urutan pertama',
    [4, 5, 6] => 'Urutan kedua',
    default => 'Urutan lain'
  };
  echo $res;
?>

Hasil eksekusi kode:

php'Urutan pertama'

Lihat Juga

  • operator switch,
    yang menyediakan cara alternatif untuk percabangan
  • fungsi if,
    yang menjalankan pernyataan kondisional