复合表达式和PHP三元运算符

时间:2017-02-16 11:33:46

标签: php

为了模仿Javascript,我在PHP中尝试了这个:

$what == '3' ? ( $tot1 += $sum ; $nLinesProd++ ; )
             : ( $tot2 += $sum ; $nLinesExp++; ) ;

我还尝试了{}而不是()。两者都不会起作用。

有没有办法像在Javascript中一样使用三元运算符?

1 个答案:

答案 0 :(得分:1)

三元运算符用于简单和单个表达式。如果您想编写复杂和复合语句,则会提升if else的使用。 但是如果你想在三元运算中执行这一步,那么你必须在功能块中编写复合语句并在三元运算符中调用它们。

<?php

 $do = ($what=='3') ? prod() : exp();
 function prod() {
    $tot1 += $sum;
    $nLinesProd++ ; 
 }
 function exp() {
    $tot2 += $sum;
    $nLinesExp++; 
 }