LoginSignup
1
1

More than 3 years have passed since last update.

PHP 「?:」 の正体を知ってすっきりした話

Last updated at Posted at 2020-07-31

目的

  • 先輩方が開発に携わったLaravelアプリのソースコードをみていたら自分の知らない処理が出てきて驚いた話をまとめる

初見のコード

  • 自分が初めて見たコードを下記に記載する。

    変数 = 比較対象A === 比較対象B ?文字列1:文字列2;
    

簡単な解説

  • 処理内容を下記に簡単に記載する。
    1. 比較対象Aと比較対象Bを比較する。
    2. データ型も含めて比較し、一致しているのかしていないのかを確認する。
    3. 一致していた(true)の場合、文字列1が変数に格納される。
    4. 一致していない(false)の場合、文字列2が変数に格納される。
  • この?:を用いた記載(?:)は条件演算子と呼ばれる物である。
  • 下記に処理を記載する。

    条件式 ?式1:式2;
    
  • 上記の様な処理の場合、条件式が真(true)の時に式1を実行し、偽(false)の時に式2を実行する。

具体例

  • 下記の様なコードを実行した時の結果を考える。

    $a = 'staging';
    $b = 'dev';
    
    echo $a === $b ? 'OK' : 'NO';
    
  • 上記を実行すると「NO」と出力される。

  • 下記の様なコードを実行した時の結果を考える。

    $a = 'dev';
    $b = 'dev';
    
    echo $a === $b ? 'OK' : 'NO';
    
  • 上記を実行すると「OK」と出力される。

1
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1