0

重複の可能性:
参照-この記号はPHPで何を意味しますか?

私はif/elseまたは1年かそこらで条件文をやっています。いくつかの新しいコードを見ると、ifやelseの代わりに?andを使用しているように見える条件が表示されています。:これについてもっと知りたいのですが、それがどのように機能するかを説明する記事を見つけるためにグーグルで何を検索すればよいかわかりません。どうすればいいですか?

4

4 に答える 4

6

三項演算子です。

基本的な使い方は次のようなものです

$foo = (if this expressions returns true) ? (assign this value to $foo) : (otherwise, assign this value to $foo)

割り当て以外にも使用できますが、他の例が下に表示されているようです。

現代のOOスタイルのPHPの多くでこれが見られる理由は、静的型付けを行わないと、特定の変数の型について偏執的になる必要があり、1行の3項が7行よりも乱雑にならないためです。それ以外の場合は条件付き。

また、命名のコメントと真実を尊重して、コンピュータサイエンス三項演算子についてすべて読んでください。

于 2010-10-29T19:47:57.483 に答える
3

それが条件演算子になります。if / then/elseステートメントはほぼ1行です。

if(someCondition){
    $x = doSomething();
}
else{
    $x = doSomethingElse();
}

になる:

$x = someCondition ? doSomething() : doSomethingElse();
于 2010-10-29T19:49:14.297 に答える
1

それは:

調子 ?do_if_true:do_if_false

したがって、たとえば以下では、do-> something()が実行されます。

$true = 1;
$false = 0

$true ? $do->something() : $do->nothing();

ただし、以下の例では、do-> nothing()が実行されます。

$false ? $do->something() : $do->nothing();
于 2010-10-29T19:49:01.537 に答える
0

これはPHP三項演算子です。if / elseの省略形で、形式は次のとおりです。

condition ? true expression : false expression;
于 2010-10-29T19:48:29.767 に答える