Как эхо переменная, которую я не знаю, установлена или нет в простой для чтения способ в PHP


Просто есть простой вопрос. Я думаю, что знаю ответ, но надеюсь, что нет.

Я хочу иметь возможность эхо-сигнала переменной, которую я не знаю, установлена она или нет. Поэтому я хочу переменную по умолчанию, если она не установлена, и я не хочу проверять, установлена ли она первой.

Итак, вот пример:

У меня есть переменная$, которую я не знаю, установлена она или нет.

Затем

echo "This is my number: " . $variable;

Если переменная $установлена как 5, я хочу, чтобы она напечатала "This is my number: 5", а если не установлена, я хочу, чтобы он напечатал "это мой номер: 0".

Я знаю, что мог бы сделать что-то вроде этого:

echo "This is my number: " . ($variable? : 0);

Но потом я все равно получаю уведомление о том, что переменная $не определена, хотя эхо-сигнал отображается правильно.

Я также мог бы сделать что-то вроде этого

if (!isset($variable)) 
{
  $variable = 0);
}
echo "This is my number: " . $variable;

Но это слишком много кода, если я делаю это много.

2 2

2 ответа:

Нулевой коалесцирующий оператор - ваш новый лучший друг.

echo "This is my number: " . ($variable ?? 0);

Нуль-коалесцирующий оператор в PHP 7.0.0. Альтернативой, для использования в более старых версиях вплоть до PHP 5.3.0, является использование isset() и еще ... ternary operator ?:.

echo "This is my number: " . (isset($variable) ? $variable : 0);

Попробуйте что-нибудь вроде этого:

echo "This is my number: " . (isset($variable) ? $variable : 0);

Работает в PHP 5+