2017-02-16 30 views
0

为了模拟天生的Javascript,我在PHP尝试这样:复合表达式和PHP三元操作

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

我也试过{},而不是()。两者都不会起作用。

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

+0

你是不是指'$ a =($ b == 1?1:0);'? – Peon

+0

我的意思是:包括复合词后的?标志,即将多于一条指令附加到每个分支部分。 –

回答

1

三元运算符的意思是简单和单一的表达。如果您想编写复杂和复合语句,则使用ifelse。 但是,如果要在三元操作中执行此步骤,则必须在功能块中编写复合语句并在三元运算符中调用它们。

<?php 

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

这是真的,但是在这里可以更容易阅读一个simle'if else'。 – Peon

+0

@DainisAbols Yeh,我已经写过。 –

+0

不可以这样做.. –