PHP速记(三元)函数



在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"; });

最新更新