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
$result = match ($value) {
condition1 => result1,
condition2 => result2,
...
default => default_result
};
Contoh
Pencocokan angka sederhana:
<?php
$res = match (2) {
1 => 'Satu',
2 => 'Dua',
3 => 'Tiga',
default => 'Tidak Dikenal'
};
echo $res;
?>
Hasil eksekusi kode:
'Dua'
Contoh
Pencocokan dengan beberapa kondisi:
<?php
$age = 25;
$res = match (true) {
$age < 18 => 'Anak',
$age >= 18 && $age < 65 => 'Dewasa',
$age >= 65 => 'Lansia'
};
echo $res;
?>
Hasil eksekusi kode:
'Dewasa'
Contoh
Penggunaan dengan array:
<?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:
'Urutan pertama'