2016-08-31 7 views
-1

ifステートメントを$soapオブジェクト内に作成しようとしていますが、そのパラメーターを入力しています。オブジェクトを呼び出すときにif文を追加することは可能ですか?obj-> sub1({if(foo == true)return foo; else return bar})?

私の必要性は、そのようなものです:

$soap->add($name,$something,$foo,$optionalarg,$optionalarg2); 

これ自体は悪くないですが、私は(正確な「BRAK」(ポーランド語で「なし」)されるように)何か他のもののために$optionalargを変更する必要があります。

多くのケースを作ることは、そのような状況では良いアイデアのようには見えません(それは大したことであり、そうするには適切な方法ではありません)。

$soapの前にそれぞれのオプションの引数があるかどうかは、理論的にはわかりますが、私は選択肢を探しています。

私はグーグルで試した

私は

$soap->add($name,$something,$foo,{if($enabled==true) $optarg else "brak"}) 

$soap->add($name,$something,$foo,{if($enabled==true) return $optarg else return "brak"}) 

$soap->add($name,$something,$foo,if($enabled==true) $optarg else "brak") 

のように、すべてがエラーを投げていた、(時々ものがちょうどこの場合には動作しますが、ではない)ランダムっぽいことをやってみましたので、私はあきらめました。

あなたは三項演算子を探している

答えて

1

$soap->add($name, $something, $foo, $enabled==true ? $optarg : "brak"); 

またはこの特定のケースでは:最初はtrue及び第三に評価された場合

$soap->add($name, $something, $foo, $enabled ? $optarg : "brak"); 
            ^^^^^^^^ evaluated/cast to boolean 

それは3つの引数を取り、二番目の引数を返します。最初の引数がfalseと評価された場合

+0

私は2(4実際にはmodyfingときに偶然2つの事を壊した)エラーをそのようにしてみました。私のエラーは「期待されている」と期待されるもの:セミコロンとphpstorm IDEのステートメントはうまくいくようですが、やっぱり:) –

関連する問題