Contents
いまだになじまないPHPのif文
WEBデザインから入り、WordPressに辿り着き、そこからPHPを勉強する人向け?(私がそう)
最初にプログラミング(PHP)から入る方はなんでそこでつまづくの?かもしれないです。
私、本当に、if文で既につまづいております!!
いろいろな書き方に惑わされる
初めて買ったWordPressの本にPHPはでてくるわけですが、
if文の書き方がころころ変わってるわけですよ。
:(コロン)使ってたり、{}(中括弧、ブレースともいうらしい)だったり、;(セミコロン)だったり、
endif;あったりなかったり
は??
(´;ω;`)ウッ…
そこで、もう一度ゆっくり基礎を
PHPの基本的な書き方は2つ
基本構文1
if(条件A){ 条件Aが満たされた場合に実行する処理; }elseif(条件B){ 条件Bが満たされた場合に実行する処理; }else{ 条件AもBも満たさない場合に実行する処理; }
この{}(ブレース)で囲むやり方がピュア?な書き方のようです。
メモ
- elseif以降は省略可能
- 処理を複数行書いてもOK
基本構文2
if(条件A): 条件Aが満たされた場合に実行する処理; elseif(条件B): 条件Bが満たされた場合に実行する処理; else: 条件AもBも満たさない場合に実行する処理; endif;
条件の記述の後ろがブレースの変わりに「:(コロン)」を使う。
そして、最後に「endif;(←セミコロン)」がつく。
本当にこれだけ。
なのに、なんでわざわざ二通りの書き方をするのがワケがわからなかった。
で、なんでそんな事をするのかというと、
HTMLタグを直接記述する場合に構造が見やすくなる。
<?php if(条件A): ?> <h3>見出しa</h3> <?php elseif(条件B): ?> <h3>見出しb</h3> <?php else: ?> <h3>見出しc</h3> <?php endif; ?>
基本構文1使うと
<?php if(条件A){ ?> <h3>見出しa</h3> <?php }elseif(条件B){ ?> <h3>見出しb</h3> <?php }else{ ?> <h3>見出しc</h3> <?php } ?>
こんな感じかしら?あってる??(;´∀`)
私の解釈ですが、「コロン」は「さーて行う処理をこれから書くよっ!」で
「セミコロン」を使うものは「はい今処理書き込ましたよ!」で「endif;」は「はいっ!これで終了!」と認識しました。
そして、セミコロンもコロンもPHPを使うときであって、HTMLの時の処理に「;」はつけなくてよい。
WordPress始めて半年くらいたつけれど、PHPはまだまだすっきりわかっていない・・・
それでも、参考にした本は今読み返すと、わかるようになった部分が増えてきた!