めちゃめちゃ初心者だった頃、PHP Laravelでの業務中に、先輩が書いたコードで突如現れた「? : 」に、なんそれ!となりました。
開発言語がPHPなので、「PHP ? : 」とかでググってみても、いまいちHITしなくて困った記憶があり、同じ様な人がいるかもしれないので、記事にしてみました。
早速「? : 」の正体ですが、条件演算子の中の『三項演算子』です。
AAA ? BBB : CCC
この形、
AAA が「true」なら BBB 、「false」なら CCC
ということになります。
初心者だった頃の私は、この条件分岐なら全部if文で書いてました。
example.php
if ( AAA ) {
BBB
} else {
CCC
}
どっちが見やすいか、一目で分かりやすいか、と言われると、定義する値によるため、場合によって書き分ける必要があります。
条件や分岐後に定義したい内容が変数だけとかの短いものは、「AAA ? BBB : CCC」の形がスマートだなと思います。
条件演算子『三項演算子』については、PHPマニュアルにて確認しました。
https://www.php.net/manual/ja/language.operators.comparison.php
最後に
この記事が「PHP ? : 」とかでググった時に出ると良いなぁと思いながら書きました。
どうなんでしょうね…届けこの想い…!