match Yapısı
match yapısı PHP 8.0'da tanıtıldı ve switch ile karşılaştırıldığında daha kısa ve güvenli bir dallanma yöntemi sunar. Karşılaştırma için bir ifade alır ve eşleşen ilk koşulun değerini döndürür. switch'in aksine, match katı bir karşılaştırma (===) yapar ve break gerektirmez.
Sözdizimi
$result = match ($value) {
condition1 => result1,
condition2 => result2,
...
default => default_result
};
Örnek
Basit bir sayı eşleştirmesi:
<?php
$res = match (2) {
1 => 'Bir',
2 => 'İki',
3 => 'Üç',
default => 'Bilinmeyen'
};
echo $res;
?>
Kodun çalıştırma sonucu:
'İki'
Örnek
Birden fazla koşulla eşleştirme:
<?php
$age = 25;
$res = match (true) {
$age < 18 => 'Çocuk',
$age >= 18 && $age < 65 => 'Yetişkin',
$age >= 65 => 'Yaşlı'
};
echo $res;
?>
Kodun çalıştırma sonucu:
'Yetişkin'
Örnek
Dizilerle kullanım:
<?php
$arr = [1, 2, 3];
$res = match ($arr) {
[1, 2, 3] => 'İlk dizi',
[4, 5, 6] => 'İkinci dizi',
default => 'Diğer dizi'
};
echo $res;
?>
Kodun çalıştırma sonucu:
'İlk dizi'