PHP-缩短代码
我有这个PHP代码get_选项是Wordpress函数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 $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';