Освоение PHP 8 Match: упростите свой код с помощью разговорных примеров

  1. Основной синтаксис.
    Чтобы понять выражение соответствия в PHP 8, давайте начнем с его основного синтаксиса:
$result = match ($value) {
    'option1' => 'Result 1',
    'option2' => 'Result 2',
    default => 'Default Result',
};

В этом примере выражение «match» принимает значение и сопоставляет его с разными случаями. Если регистр соответствует значению, возвращается соответствующий результат.

  1. Простое сопоставление значений.
    Выражение сопоставления позволяет сравнивать значение с несколькими вариантами. Каждый случай может иметь постоянное значение, что упрощает понимание и использование. Вот пример:
$number = 5;
$result = match ($number) {
    1 => 'One',
    2 => 'Two',
    3 => 'Three',
    default => 'Other',
};

В этом случае значение $numberсопоставляется с разными регистрами, а соответствующему результату присваивается значение $result.

  1. Сопоставление типов.
    Сопоставление типов в PHP 8 также поддерживает сопоставление типов, что позволяет сопоставлять значения на основе их типов данных. Рассмотрим следующий пример:
$value = 'Hello';
$result = match (true) {
    is_int($value) => 'Integer',
    is_float($value) => 'Float',
    is_string($value) => 'String',
    default => 'Other',
};

В этом фрагменте кода выражение соответствия проверяет тип данных $valueи возвращает соответствующий результат.

  1. Объединение условий.
    С помощью 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',
};

В этом случае выражение соответствия объединяет несколько условий для определения соответствующего результата.

  1. Использование регулярных выражений.
    Сопоставление PHP 8 также поддерживает регулярные выражения для сопоставления значений. Вот пример:
$email = 'example@example.com';
$result = match (true) {
    preg_match('/^\w+@\w+\.\w+$/', $email) => 'Valid email',
    default => 'Invalid email',
};

В этом примере выражение соответствия использует регулярное выражение для проверки формата электронной почты.

Не забывайте следить за новейшими функциями PHP и продолжайте практиковаться, чтобы стать опытным разработчиком PHP!