Установить значение по умолчанию для переменной в переполнении стека

Есть ли обобщенный способ написания этого кода

if(y) {x=y;} else {x="default"}

Я старался

$x=$y||"default"

но это не удается.

4

Решение

Используйте троичный оператор PHP, например, так:

$x = $y ?: "default";

Если вы используете PHP < 5.3, вам нужно использовать полную троичную форму следующим образом:

$x = $y ? $y : "default";
4

Другие решения

Будет ли это в функции? Ты можешь сделать:

function foo($bar = "default")
{
if(x==y)
{
$bar="something";
}
return $bar; //will return "default" if x!=y
}

Или вы просто имеете в виду, что вы хотите написать что-то вроде:

$x == $y ? $bar = "something" : $bar = "default";
0

$x = isset($y) && $y ? $y : 'default';

Итак, что вы делаете здесь, проверяете, установлена ​​ли переменная $ y (что бы это ни было в вашем коде), и если да, то проверяете, содержит ли она истинное значение (все, что не пусто, ноль или 0). Когда это проходит проверки, тогда $ x присваивается значению $ y, если нет, то $ x присваивается строке ‘default’.

Это называется сокращенным условным выражением:

$ x = <если это правда> ? <затем установите его на это> : <иначе, установите это на это>;

также может использоваться для вывода чего-либо с помощью echo:

эхо <если это правда> ? <выведите это> : <иначе выведите это>;

0

Возможно, самый простой способ — использовать троичный оператор:

$x = $y ? $y : "default";
0
По вопросам рекламы [email protected]