抱歉,如果标题不够清晰,但在 Javascript 中您可以这样做:
var input = null;
var fruit = input || 'default';
只是想知道 PHP 是否支持这种检查,目前我正在使用:
$fruit = !empty($input)?$input : 'default' ;
这很好,但当然 Javascript 方法更优雅。
谢谢
抱歉,如果标题不够清晰,但在 Javascript 中您可以这样做:
var input = null;
var fruit = input || 'default';
只是想知道 PHP 是否支持这种检查,目前我正在使用:
$fruit = !empty($input)?$input : 'default' ;
这很好,但当然 Javascript 方法更优雅。
谢谢
||
在 PHP 中返回一个布尔值,所以这个运算符不能用于它。对or
.
但是,如果您使用的是 PHP5.3+ ,则可以使用二元运算符: ?:
$fruit = $input ?: 'default';
但是,它有一个很大的缺点,破坏了它在最有用的单一情况下的有用性(导入请求变量时):
$fruit = $_REQUEST['fruit'] ?: 'strawberry';
如果不存在,这会丢E_NOTICE
在你的脸上。$_REQUEST['fruit']
因此,在这种情况下,您仍然需要带有或检查的三元版本。isset
!empty
在 PHP 中,||
运算符返回一个布尔值,因此您总是会从中得到真或假。在 JS 中可能的原因是它会返回一个值。
所以,不,不可能。
PHP 不会,因为它返回一个布尔值,而不是像 JavaScript 或 Ruby 中的最后一个求值表达式。
您可以使用ThiefMaster 提到的三元或新的二进制形式。