Есть ли обобщенный способ написания этого кода
if(y) {x=y;} else {x="default"}
Я старался
$x=$y||"default"
но это не удается.
Используйте троичный оператор PHP, например, так:
$x = $y ?: "default";
Если вы используете PHP < 5.3, вам нужно использовать полную троичную форму следующим образом:
$x = $y ? $y : "default";
Будет ли это в функции? Ты можешь сделать:
function foo($bar = "default")
{
if(x==y)
{
$bar="something";
}
return $bar; //will return "default" if x!=y
}
Или вы просто имеете в виду, что вы хотите написать что-то вроде:
$x == $y ? $bar = "something" : $bar = "default";
$x = isset($y) && $y ? $y : 'default';
Итак, что вы делаете здесь, проверяете, установлена ли переменная $ y (что бы это ни было в вашем коде), и если да, то проверяете, содержит ли она истинное значение (все, что не пусто, ноль или 0). Когда это проходит проверки, тогда $ x присваивается значению $ y, если нет, то $ x присваивается строке ‘default’.
Это называется сокращенным условным выражением:
$ x = <если это правда> ? <затем установите его на это> : <иначе, установите это на это>;
также может использоваться для вывода чего-либо с помощью echo:
эхо <если это правда> ? <выведите это> : <иначе выведите это>;
Возможно, самый простой способ — использовать троичный оператор:
$x = $y ? $y : "default";