- Основной синтаксис.
Чтобы понять выражение соответствия в PHP 8, давайте начнем с его основного синтаксиса:
$result = match ($value) {
'option1' => 'Result 1',
'option2' => 'Result 2',
default => 'Default Result',
};
В этом примере выражение «match» принимает значение и сопоставляет его с разными случаями. Если регистр соответствует значению, возвращается соответствующий результат.
- Простое сопоставление значений.
Выражение сопоставления позволяет сравнивать значение с несколькими вариантами. Каждый случай может иметь постоянное значение, что упрощает понимание и использование. Вот пример:
$number = 5;
$result = match ($number) {
1 => 'One',
2 => 'Two',
3 => 'Three',
default => 'Other',
};
В этом случае значение $numberсопоставляется с разными регистрами, а соответствующему результату присваивается значение $result.
- Сопоставление типов.
Сопоставление типов в PHP 8 также поддерживает сопоставление типов, что позволяет сопоставлять значения на основе их типов данных. Рассмотрим следующий пример:
$value = 'Hello';
$result = match (true) {
is_int($value) => 'Integer',
is_float($value) => 'Float',
is_string($value) => 'String',
default => 'Other',
};
В этом фрагменте кода выражение соответствия проверяет тип данных $valueи возвращает соответствующий результат.
- Объединение условий.
С помощью PHP 8 match вы можете комбинировать условия с помощью логических операторов. Давайте посмотрим пример:
$number = 7;
$result = match (true) {
$number > 10 => 'Greater than 10',
$number >= 5 && $number <= 10 => 'Between 5 and 10',
$number < 5 => 'Less than 5',
default => 'Other',
};
В этом случае выражение соответствия объединяет несколько условий для определения соответствующего результата.
- Использование регулярных выражений.
Сопоставление PHP 8 также поддерживает регулярные выражения для сопоставления значений. Вот пример:
$email = 'example@example.com';
$result = match (true) {
preg_match('/^\w+@\w+\.\w+$/', $email) => 'Valid email',
default => 'Invalid email',
};
В этом примере выражение соответствия использует регулярное выражение для проверки формата электронной почты.
Не забывайте следить за новейшими функциями PHP и продолжайте практиковаться, чтобы стать опытным разработчиком PHP!