2010年1月9日土曜日

 

【PHP】PHP 5.3以降の三項演算子

参考
phpの三項演算子を書いてていつも思っていた事を書きます。 - camelmasaの開発日記
/* PHPの三項演算子の例 */
(($a) ? $a : $b);

この式が以下の様に省略出来る。

/* PHP 5.3 以降の三項演算子の例 */
(($a) ?: $b);
比較演算子 - PHP マニュアル
PHP 5.3 以降では、三項演算子のまんなかの部分をなくすこともできるようになりました。 式 expr1 ?: expr3 の結果は、expr1 が TRUE と同等の場合は expr1、 それ以外の場合は expr3 となります。

ちなみにperlは右結合、phpは左結合なので評価結果が異なったりするので、ネストには注意。

/* 三項演算の評価の違い */
(true?'true':false?'t':'f');
// Perlの結果: 'true'
// PHPの結果:'t'
 ※PHPでの評価順
 ((true ? 'true' : 'false') ? 't' : 'f');
perlとphpで三項演算子の挙動が違う件Comments - A Small, Good Thing - diary

ラベル:


コメント: コメントを投稿

登録 コメントの投稿 [Atom]



この投稿へのリンク:

リンクを作成



<< ホーム

This page is powered by Blogger. Isn't yours?

登録 投稿 [Atom]

Google