PHP: Выражение match в PHP 8+

Выражение match в PHP 8 и выше - это улучшенная версия оператора switch. Оно предоставляет более чистый и сокращенный синтаксис для проверки выражения на соответствие различным условиям. Кроме того, match является выражением, а значит, его можно использовать для возвращения значения.

Основные преимущества использования match:

Базовый пример:

$number = 1;
$result = match( $number )
{
	0 => 'ноль',
	1 => 'один',
	2 => 'два',
	default => 'нет совпадений'
};
echo $result; 
// Выведет "один"

С множественными значениями

$day = 'Суббота';
$result = match( $day )
{
	'Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница' => 'Будний день',
	'Суббота', 'Воскресенье' => 'Выходной',
	default => 'Неизвестный день'
};
echo $result; 
// Выведет "Выходной"

С использованием выражений

$age = 25;
$category = match( true )
{
	$age >= 60 => 'Пожилой',
	$age >= 18 => 'Взрослый',
	default => 'Молодой'
};
echo $category; 
// Выведет "Взрослый"

Безопасное получение IP-адреса клиента

$clientIp = match( true )
{
	isset( $_SERVER['HTTP_CF_CONNECTING_IP'] ) => $_SERVER['HTTP_CF_CONNECTING_IP'],
	isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) => $_SERVER['HTTP_X_FORWARDED_FOR'],
	default => $_SERVER['REMOTE_ADDR']
};
PHP Просмотров: 973
Оценить код:

Комментарии

Ваш комментарий будет первым.
Войдите, чтобы оставить комментарий.