2

CからJavascriptまでの「正気の」プログラミング言語では、a || b(または)などの式はtrueであるかどうかをa or b評価し、それ以外の場合は、演算子のようなものを可能にしますが、PHPは異なるように頼みます。aaba = params.a || default_aand

PHPでこれを取得する方法はありますか?または、PHPプログラマーが以下のコードのようなものの代わりに使用する「コーディングイディオム/パターン」はありますか?

$a = $my_a || $default_a; // nope, $a gets a boolean

書くif ($my_a) $a = $my_a; else $a = $default_a;$a = $my_a ? $my_a : $default_a;、私には非常に醜く見え、コードの基本的な「ドライネス」に違反するため$my_a、のようなものを繰り返させます。これも非常に長く複雑な表現になる可能性があります。

それは些細なことだと私は知っています、そして二重爪ハンマーの土地ではそれほど特異ではありませんが、それは本当に私を悩ませます!

4

1 に答える 1

0

言及する価値がある:「'正気の'言語で」(;))ブール演算の戻り値はブールであり、そのオペランドの1つではないため、違いを生むのはCとJavascriptです。

でも

$a = $my_a ?: $default_a;
于 2012-07-03T13:04:05.767 に答える