В PHP часто встречаются ситуации, когда вам нужно присвоить значение переменной, только если оно не равно нулю. В этой статье блога будут рассмотрены несколько методов обработки таких сценариев с использованием разговорного языка и приведены примеры кода. К концу вы получите хорошее представление о различных подходах к решению этой проблемы в PHP.
Метод 1: использование тернарного оператора
Тернарный оператор — это краткий способ условного присвоения значений. Он принимает форму condition ? valueIfTrue : valueIfFalse. Вот пример:
$value = $input ?: $defaultValue;
В этом коде, если $inputне равно нулю, ему будет присвоено значение $value; в противном случае будет присвоено значение $defaultValue.
Метод 2: использование оператора объединения значений по умолчанию
В PHP 7 появился оператор объединения значений по значению (??), который обеспечивает сокращенный способ присвоения значения по умолчанию, если переменная имеет значение NULL. Вот пример:
$value = $input ?? $defaultValue;
В этом коде, если $inputне равно нулю, ему будет присвоено значение $value; в противном случае будет назначено $defaultValue.
Метод 3: использование функции isset()
Функция isset()в PHP может использоваться для проверки того, установлена ли переменная, а не равна ли она нулю. Вы можете объединить это с заданием для достижения желаемого поведения. Вот пример:
if (isset($input)) {
$value = $input;
} else {
$value = $defaultValue;
}
Этот код проверяет, установлен ли $input, и присваивает его значение $value. Если $inputне установлено или имеет значение NULL, назначается $defaultValue.
Метод 4: применение оператора присваивания, объединяющего значения NULL (PHP 7.4+)
В PHP 7.4 появился оператор присваивания, объединяющего значения NULL (??=), который позволяет присваивать значение только в том случае, если переменная имеет значение NULL.. Вот пример:
$value ??= $defaultValue;
В этом коде, если $valueимеет значение null, ему будет присвоено значение $defaultValue.
Метод 5: использование функции empty()
Функция empty()в PHP может использоваться для проверки того, пуста ли переменная, которая включает как нулевые, так и ложные значения.. Вы можете объединить его с назначением для обработки нулевых значений. Вот пример:
if (!empty($input)) {
$value = $input;
} else {
$value = $defaultValue;
}
Этот код присваивает значение $inputзначению $value, если оно не пустое. В противном случае назначается $defaultValue.
В этой статье мы рассмотрели несколько методов присвоения значений в PHP, только если они не равны нулю. Мы обсудили использование тернарного оператора, оператора объединения значений NULL, функции isset(), оператора присваивания объединения значений NULL и функции empty(). Применяя эти методы, вы сможете эффективно обрабатывать нулевые значения в своих проектах PHP.