Подтвердить что ты не робот

Как установить значение по умолчанию для строки в PHP, если другая строка пуста?

Лучший пример - показать вам, как это решить в Javascript:

var someString = someEmptyString || 'new text value';

В этом примере javascript мы обнаружили, что "someEmptyString" пуст и автоматически устанавливает значение "новое текстовое значение". Возможно ли это в PHP и какой самый короткий (код) способ сделать это?

Вот как я это делаю сейчас:

if ($someEmptyString == "")
    $someString = 'new text value'; else $someString = $someEmptyString;

Это прослушивает меня в течение довольно долгого времени, и я был бы очень признателен, если бы кто-то знал лучший способ сделать это. Спасибо!

4b9b3361

Ответ 1

Вы можете использовать термарный оператор ?:.

Если у вас PHP 5.3, это очень элегантно:

$someString = $someEmptyString ?: 'new text value';

До 5.3 он должен быть немного более подробным:

$someString = $someEmptyString ? $someEmptyString : 'new text value';

Ответ 2

$someString = (!isSet( $someEmptyString ) || empty( $someEmptyString ) )? "new text value" : $someEmptyString;

Я думаю, что это был бы самый правильный способ сделать это. Проверьте, не является ли этот var пустым или не установлен и не выполняется условие.

он все еще немного кода, но вы не должны получать никаких предупреждений или ошибок PHP при выполнении.

Ответ 4

В то время как троянец более ясен, что происходит, вы также можете установить переменную следующим образом

($someString = $someEmptyString) || ($someString = "Default");

Работает во всех версиях PHP. Вы можете расширить его, чтобы использовать более 1 вариант с ошибкой.

($someString = $someEmptyString) ||
($someString = $someOtherEmptyString) ||
($someString = "Default");

который я лично считаю более читаемым, чем его тройной эквивалент