2017-02-16 20 views
0

、私はPHPでこれを試してみました:複合式とPHP三項演算子

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

私も{}代わりの()を試してみました。どちらもうまくいきません。

Javascriptの場合と同じ方法で三項演算子を使用する方法はありますか?

+0

あなたは '$ a =($ b == 1?1:0);'を意味しましたか? – Peon

+0

私は以下を意味します:?即ち、各分岐部分に2つ以上の命令を付加することにより、 –

答えて

1

3項演算子は、単純かつ単一の式を意味します。複雑な複合文を作成する場合は、ifelseの使用が推奨されます。 しかし、どのように三項演算でこのステップを実行したいのであれば、複合ブロックに複合文を書き、三項演算子でそれらを呼び出す必要があります。

<?php 

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

これは当てはまりますが、simle 'if else'はここで読みやすくなります。 – Peon

+0

@DainisAbolsええ、私はすでにそれを書いています。 –

+0

いいえそのようにすることはできません.. –