2016-06-25 20 views

答えて

4

を、私はそれを使用しようとしているが、その私にいくつかの奇妙な結果を与えることがPHP 5.3で導入されbinary conditional operatorです。 PHPの条件演算子は、伝統的に(3つのオペランドを受け入れる)オペレータが、バイナリ(2つのオペランドを受け入れる)フォームが?:任意間のオペランドを作り、加え:

PHP 5.3ので、それは三項演算子の中間部分を省略することができます。式expr1 ?: expr3は、expr1TRUEと評価された場合はexpr1、それ以外の場合はexpr3となります。

$value'yes'であれば、結果は最初の式の値($value == 'yes')である(1)ので、だからあなたの例では、結果はTRUEです。 $value'yes'でない場合、結果は'Show Text'となります。

+1

elvis演算子としても知られています。https://en.wikipedia.org/wiki/Elvis_operator –

+0

@SamDufel:Ah!もちろん、この形式の条件付き演算子*は三項演算子ではなく、二項演算子です。クール。 –

関連する問題