PHP-缩短代码

PHP-缩短代码,php,loops,if-statement,Php,Loops,If Statement,我有这个PHP代码get_选项是Wordpress函数 <?php $hahaha = get_option('hahaha'); if(empty($hahaha)) { echo 'false'; } else { echo 'true'; } ?> 代码在我看来很蹩脚,有没有办法让它像我想象的那样短一些 <?php $hahaha = get_option('hahaha'); if($ha

我有这个PHP代码get_选项是Wordpress函数

    <?php $hahaha = get_option('hahaha'); 
    if(empty($hahaha)) { 
       echo 'false'; 
    } 
    else { 
       echo 'true'; 
    }
?>
代码在我看来很蹩脚,有没有办法让它像我想象的那样短一些

<?php $hahaha = get_option('hahaha');
if($hahaha): 'true' // 'false'
?>

有关三元运算符的更多详细信息,请参阅。

您可以使用三元运算符,但我不确定它对可读性有多大帮助:

echo (empty($hahaha) ? 'false' : 'true');
不需要为空,因为变量已明确设置。纯布尔比较很好用

如果以后不需要该变量用于其他用途,也可以跳过它:

echo get_option('hahaha') ? 'true' : 'false';

这将显示0或1

$options=get_options

回显空$options; 或
回响空美元期权

顺便说一句,这和他在问题中得到的完全不同。这是无效代码。empty是一种语言构造,不能与表达式一起使用。此外,empty与==false完全相同,但没有对非set变量发出通知,因此在这里它是无用的。回响获得选项“哈哈哈”。。。当然,如果get_选项不返回null,它将始终计算为true。空$a类似于$a==false,而isset$a类似于$a!==无效的除了empty和isset都不会发出通知。请参阅以了解什么==false。我不明白为什么条件运算符受到如此恶意的攻击。你发布的内容对我来说就像if语句一样可读。只有当它被更复杂的表达式滥用时,它才对可读性有害。
echo empty($hahaha)?'false':'true';
echo empty($hahaha = get_option('hahaha')) ? 'false' : 'true';
$hahaha = get_option('hahaha'); 
echo $hahaha ? 'true' : 'false';
echo get_option('hahaha') ? 'true' : 'false';
<?php $hahaha = get_option('hahaha');
echo (isset($hahaha)) ? 'true': 'false';