3

コードの連鎖に関するいくつかの注意事項を認識していexpr ? var1 : var2ます。

ただし、 PHP 5.3?:オペレーターをスタックしてみましたが、複数のフォールバック シナリオで問題なく動作しているようです。

php > $a=$b=0;
php > $c=5;
php > echo $a ?: $b ?: $c;
5
php > $b=2;
php > echo $a ?: $b ?: $c;
2
php > $a=1;
php > echo $a ?: $b ?: $c;
1

上記の例では、一連のフォールバック値を設定し、返される値は (予想どおり) 一番左のゼロ以外の値です。

私が熟考していない、予期しない結果につながる可能性のあるケースはありますか?

4

1 に答える 1

2

Yes and no :)

Have a read of this about Ternary ops: http://www.mcgarvie.net/2013/02/27/programming/php-shorthand-if-notation-or-the-ternary-operator/

It has some good examples of how to use and how NOT to use them!

于 2013-03-14T16:14:21.360 に答える