PHPのnull合体+三項演算子の奇妙な動作

アルドス

新しいPHP7null合体演算子を三項演算子と一緒に使用すると予期しない動作に直面します。

具体的な状況(ダミーコード):

function a()
{
    $a = 1;
    $b = 2;
    return $b ?? (false)?$a:$b;
}

var_dump(a());

結果はint(1)です。

誰かが私に理由を説明できますか?

ジェロエン

あなたのスペースは、phpが式を評価する方法を反映していません。ことに注意してください??持っている高い優先順位三元表現よりを。

次の結果が得られます。

($b ?? false) ? $a : $b;

これは$a$bそうでないnullか、に評価される限りfalseです。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Java-三項演算子の奇妙な動作

分類Dev

三項演算子の動作

分類Dev

PHPの三項演算子とnullの合体演算子

分類Dev

java:三項演算子の奇妙なNullPointerException(?:)

分類Dev

Java 3項演算子を使用するときの奇妙な動作

分類Dev

C ++での三項演算子の予期しない動作

分類Dev

C#での三項演算子の予期しない動作

分類Dev

PHPの三項演算子とnull合体演算子で「else」を省略します

分類Dev

null合体代入演算子の動作

分類Dev

Java:条件演算子の奇妙な動作

分類Dev

奇妙な変換演算子の動作

分類Dev

structEquality演算子ImmediateWindowの奇妙な動作

分類Dev

Javascript代入演算子の奇妙な動作

分類Dev

条件付き三項演算子の誤動作(PHP)

分類Dev

印刷と三項条件演算子の間の奇妙な相互作用

分類Dev

PythonはPHPのnull合体演算子および短縮三項演算子に相当しますか?

分類Dev

三項演算子による奇妙な暗黙の変換

分類Dev

三項演算子の奇妙な振る舞い

分類Dev

弱参照とnull条件演算子の奇妙なC#GCの動作

分類Dev

三項内のヌル合体演算子

分類Dev

辞書のnull合体演算子

分類Dev

PHPの 'および'演算子による奇妙な動作

分類Dev

この場合、「if-else」が三項演算子「?:」と異なる動作をするのはなぜですか?

分類Dev

Java三項演算子の自動ボクシング動作によるNullPointerException

分類Dev

メソッドでの演算子「is」の非常に奇妙な動作

分類Dev

JSFを使用したJavascriptの奇妙な論理演算子の動作: `&&`

分類Dev

node.jsでの奇妙な&&演算子の動作

分類Dev

Java-if-else演算子と3項演算子の動作が異なる

分類Dev

三項演算子を使用したES6.some()の動作は異なります

Related 関連記事

  1. 1

    Java-三項演算子の奇妙な動作

  2. 2

    三項演算子の動作

  3. 3

    PHPの三項演算子とnullの合体演算子

  4. 4

    java:三項演算子の奇妙なNullPointerException(?:)

  5. 5

    Java 3項演算子を使用するときの奇妙な動作

  6. 6

    C ++での三項演算子の予期しない動作

  7. 7

    C#での三項演算子の予期しない動作

  8. 8

    PHPの三項演算子とnull合体演算子で「else」を省略します

  9. 9

    null合体代入演算子の動作

  10. 10

    Java:条件演算子の奇妙な動作

  11. 11

    奇妙な変換演算子の動作

  12. 12

    structEquality演算子ImmediateWindowの奇妙な動作

  13. 13

    Javascript代入演算子の奇妙な動作

  14. 14

    条件付き三項演算子の誤動作(PHP)

  15. 15

    印刷と三項条件演算子の間の奇妙な相互作用

  16. 16

    PythonはPHPのnull合体演算子および短縮三項演算子に相当しますか?

  17. 17

    三項演算子による奇妙な暗黙の変換

  18. 18

    三項演算子の奇妙な振る舞い

  19. 19

    弱参照とnull条件演算子の奇妙なC#GCの動作

  20. 20

    三項内のヌル合体演算子

  21. 21

    辞書のnull合体演算子

  22. 22

    PHPの 'および'演算子による奇妙な動作

  23. 23

    この場合、「if-else」が三項演算子「?:」と異なる動作をするのはなぜですか?

  24. 24

    Java三項演算子の自動ボクシング動作によるNullPointerException

  25. 25

    メソッドでの演算子「is」の非常に奇妙な動作

  26. 26

    JSFを使用したJavascriptの奇妙な論理演算子の動作: `&&`

  27. 27

    node.jsでの奇妙な&&演算子の動作

  28. 28

    Java-if-else演算子と3項演算子の動作が異なる

  29. 29

    三項演算子を使用したES6.some()の動作は異なります

ホットタグ

アーカイブ