今回phpのif文についての覚書です。今更ですが書き方でエラーになってしまったので記しておきます。
すぐに分かったんですが、同じ文を書いていてもエラーになるってあんまりないので残しておきます。
ワードプレスなどではifやfor、while、foreachなどはビューファイル用の書き方で記述しています。
大カッコ{}の代わりに:(コロン)を使うやり方です。
スポンサーリンク
これを使うことには問題がないのです。
しかし、下記2つの文で下の文の方はエラーが出るんです。なぜか。。。
一般的なif文
$b) {
echo 'bより大きい';
} else if ($a < $b) {
echo 'aより大きい';
} else {
echo '上記以外';
}
?>
この書き方は一般的ですね。これは普通に動作します。下の文は:(コロン)を使った文です。
ビューファイル代替用if文
同じだ
$b):?>
bより大きい
aより大きい
上記以外
この文はエラーになります。
どこが悪いのか?
else ifの間が開いていてはダメみたい。
elseifならOKです。
なんでだろう。。。と思って調べてみたらマニュアルに書いてありました。
elseif
それから実は大カッコ{}なしでも動きます。
ですが複雑になるとわからなくなるし、エラーが出てくる場合があるのでやめましょう。
ショートコード用if文
if ($a == $b)
echo '同じだ!';
else
echo '違う!';
こんな感です。これに更にelseifなんかが追加されると見難くてわかりづらくなるのでやめましょう。
それから上記のような簡単な分岐文なら三項演算子で使うことも可能です。
使い方: (条件文) ? true : false
三項演算子
以上if文についてでした。