Konstruksi match
Konstruksi match muncul dalam PHP 8.0 dan menyediakan cara cabang yang lebih ringkas dan selamat berbanding dengan switch. Ia menerima ungkapan untuk perbandingan dan mengembalikan nilai syarat pertama yang sepadan. Berbeza dengan switch, match melakukan perbandingan ketat (===) dan tidak memerlukan break.
Sintaks
$result = match ($value) {
condition1 => result1,
condition2 => result2,
...
default => default_result
};
Contoh
Perbandingan nombor mudah:
<?php
$res = match (2) {
1 => 'Satu',
2 => 'Dua',
3 => 'Tiga',
default => 'Tidak diketahui'
};
echo $res;
?>
Keputusan pelaksanaan kod:
'Dua'
Contoh
Perbandingan dengan beberapa syarat:
<?php
$age = 25;
$res = match (true) {
$age < 18 => 'Kanak-kanak',
$age >= 18 && $age < 65 => 'Dewasa',
$age >= 65 => 'Warga emas'
};
echo $res;
?>
Keputusan pelaksanaan kod:
'Dewasa'
Contoh
Penggunaan dengan tatasusunan:
<?php
$arr = [1, 2, 3];
$res = match ($arr) {
[1, 2, 3] => 'Jujukan pertama',
[4, 5, 6] => 'Jujukan kedua',
default => 'Jujukan lain'
};
echo $res;
?>
Keputusan pelaksanaan kod:
'Jujukan pertama'