Κατασκευή match
Η κατασκευή match εμφανίστηκε στην PHP 8.0 και παρέχει έναν πιο σύντομο και ασφαλή τρόπο διακλάδωσης σε σύγκριση με το switch. Δέχεται μια έκφραση για σύγκριση και επιστρέφει την τιμή της πρώτης συνθήκης που ταιριάζει. Σε αντίθεση με το switch, το match εκτελεί αυστηρή σύγκριση (===) και δεν απαιτεί break.
Σύνταξη
$result = match ($value) {
condition1 => result1,
condition2 => result2,
...
default => default_result
};
Παράδειγμα
Απλή αντιστοίχιση αριθμού:
<?php
$res = match (2) {
1 => 'One',
2 => 'Two',
3 => 'Three',
default => 'Unknown'
};
echo $res;
?>
Αποτέλεσμα εκτέλεσης κώδικα:
'Two'
Παράδειγμα
Αντιστοίχιση με πολλαπλές συνθήκες:
<?php
$age = 25;
$res = match (true) {
$age < 18 => 'Child',
$age >= 18 && $age < 65 => 'Adult',
$age >= 65 => 'Senior'
};
echo $res;
?>
Αποτέλεσμα εκτέλεσης κώδικα:
'Adult'
Παράδειγμα
Χρήση με πίνακες:
<?php
$arr = [1, 2, 3];
$res = match ($arr) {
[1, 2, 3] => 'First sequence',
[4, 5, 6] => 'Second sequence',
default => 'Other sequence'
};
echo $res;
?>
Αποτέλεσμα εκτέλεσης κώδικα:
'First sequence'