在javascript世界中,我们可以通过三元比较来运行函数,我想看看这是否适用于PHP,似乎它只是在一定程度上。
这不是用于生产,也不会实际使用。这只是一个主题,以了解PHP对三元比较的深入程度。
<?
$a = 1;
$b = 1;
function doThis($a){
print "$a";
}
$a == $b ? ( doThis('TRUE') ):( print "FALSE" );
?>
上面的代码工作完美,然而,它是可能运行多个函数和/或操作在()?
如?
$a == $b ? ( doThis('TRUE'), doThis('THAT') ):( print "FALSE" );
甚至?
$a == $b ? ( function(){ print "33"; doThis("TRUE") } ):( print "FALSE" );
您可以使用三元返回一个闭包来执行所请求的功能
$func = $a==$b?function(){ print "33"; doThis("TRUE"); }:function(){ print "FALSE"}); );
$func();
或者从javascript中借用你可以创建一个IIFE(立即调用函数表达式)
$a==$b?call_user_func(function(){print "33"; doThis("TRUE");}):
call_user_func(function(){print "FALSE"; });