【PHPコード簡略化計画②】ANDとORで条件分岐

PHP
composita / Pixabay
この記事は約2分で読めます。

こんにちは。
やらしみずです。

前回と同様に、ifを使わないでAND、ORのみで条件分岐をする方法をご紹介します。
前回の記事:エルビス演算子が強い

普通にif文を書いてみる

# if文を使って書いた場合
if (isset($foo)) {
    $gre = "おはようじょ!!";
}
if (isset($var)) {
    $gre = "さよならいおん!!";
}

AND,ORを使って書いてみる

# OR AND を使って書いた場合
isset($foo) AND $gre = "おはようじょ!!";
isset($var) OR  $gre = "さよならいおん!!"; 

#または
$foo AND $gre = "おはようじょ!!";
$var OR  $gre = "さよならいおん!!";

※右辺には、echo、returenなどは使えないので注意

見たとおりかもしれませんが、左辺の真偽値を判断して、右のコードを実行します。
ANDの場合は左辺がtrueだったら右辺を実行、
ORの場合は左辺がfalseだったら右辺を実行という感じですね。

一応if文を使っているときよりも若干スマートになっていると思います。

ただ変数に値を代入するだけであれば、前回のエルビス演算子のほうが使い勝手がいいので、ANDとORを使うのはretrun文の無い関数などを使うといいかもしれません。(じゃあそれで書けよって話ですが,,,)

最後に

コードゴルフはもっとえげつない省略の仕方をするそうなので勉強してみたいです!!

コメント

タイトルとURLをコピーしました