Php 如果值if==false,则将值设置为false

Php 如果值if==false,则将值设置为false,php,Php,如果我设置的值为==false,如何将值设置为false 我知道我可以这样做: $string = ('something that returns true' ? 'something that returns true' : false); 但我想要更聪明的东西 我在找这样的东西 $string = ('something that returns true') ? false; 我想说的例子是错误的: $string = array() ? false; $string = '' ?

如果我设置的值为==false,如何将值设置为false

我知道我可以这样做:

$string = ('something that returns true' ? 'something that returns true' : false);
但我想要更聪明的东西

我在找这样的东西

$string = ('something that returns true') ? false;
我想说的例子是错误的:

$string = array() ? false;
$string = '' ? false;
tl;dr:如果字符串I'm settings不是==true,则设置为false。

如果您使用的是5.3+

$string = ('something that returns true') ?: false;
如果您使用的是5.3+

$string = ('something that returns true') ?: false;

也许我遗漏了什么,但假设您想要一个布尔值,您只需要:

$string = (bool) 'something that returns true';

这将把你的
数组
字符串
数字
或任何东西转换成布尔值。

也许我遗漏了什么,但假设你想要一个布尔值,你只需要:

$string = (bool) 'something that returns true';

这将把你的
数组
字符串
数字
或任何东西转换成布尔值。

你可以使用
isset()
空()
为空()。这是一个长期解决方案。我在寻找一个非常快速的速记,而@AlienWebguy发布了它。所以,基本上,它并没有你想要的那么聪明。它比较短。两者之间有点不同。您可以使用
isset()
empty()
为空()。这是一个长期解决方案。我在寻找一个非常快速的速记,而@AlienWebguy发布了它。所以,基本上,它并没有你想要的那么聪明。它比较短。两者之间有点不同。我只是提供了他要求的语法。没关系,因为我不确定OP想要什么,如果值没有计算为
false
,您的解决方案可能更适合。我只是提供了他要求的语法。没关系,由于我不确定OP想要什么,如果值的计算结果不是
false
,您的解决方案可能更适合。