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

Установка значений по умолчанию (условное присвоение)

Возможный дубликат:
PHP-эквивалент именования назначения Ruby

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

x ||= "default"

Вышеуказанный оператор устанавливает значение x в значение "по умолчанию", если x равно nil или false

Есть ли аналогичный ярлык в PHP или мне нужно использовать более длинную форму:

$x = (isset($x))? $x : "default";

Есть ли более простые способы справиться с этим в PHP?

4b9b3361

Ответ 1

Как и в случае PHP 5.3, вы можете использовать тернарный оператор, опуская средний аргумент:

$x = $x ?: 'default';

Ответ 2

isset($x) or $x = 'default';

Ответ 3

Я переношу его в функцию:

function default($value, $default) {
    return $value ? $value : $default;
}
// then use it like:
$x=default($x, 'default');

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

Ответ 4

Я думаю, что ваша более длинная форма уже является ярлыком для php... и я бы не использовал его, потому что нехорошо читать

Некоторое уведомление: В структуре symfony большинство "get" -Methods имеют второй параметр для определения значения по умолчанию...