▼ if文
if文に限らず「{ 〜 }」の範囲は、ブロックやブロック構造などと言われる部分です。
ブロック内が単文だとブロックの記述は省略できます。
条件分岐が複数あれば、elseifやelseを使うことができます。
「elseif」は「else if」と書くこともできるので、どちらかに決めて統一した書き方をするようにします。
▼ switch文
if文に似ていて、条件分岐が多くなる場合に使うと見やすくなる。
$iの持つ値と一致するcase内が実行されて、breakでswitchブロック外へ出ます。
最後のdefaultは、どのcaseにも一致しなかった場合に実行される部分です。
各所にbreakがあるが、書かないと直下も実行していき、breakが書かれた部分までが実行され続ける。
最後のdefault内のbreakは意味的に不要だけど書くクセを付けておいた方がよい(他言語で省略できないものがある)
ちなみにif文ではbreak文が使えない。break文が使えるのはswitch文と、ループを抜けるときだけ(switch内・ループ内に書いたif文ならばもちろん使えます)
switch (カッコ内)に書いた値とcaseの値が一致すればそこが処理されるので、以下のようなトリッキーな書き方もある。
「===」という演算子は、「==」演算子と同様等しいかどうかをチェックする比較演算子ですが、「===」の方は単にデータ型込みで完全一致かどうかをチェックするだけなので処理が速いです。(数値3と文字列"3"が等しいかどうかチェックするには型を同一にしたときの比較まで行うので当然遅くなる)
▼ continueとbreak
各種ループおよびswitch文の内側でしか使うことができない。(if文では使えない)
一気にブロック外へ抜けることができる。
ブロックが多重になっていれば抜ける(または戻る)ブロックの階層数を指定できる。
▼ goto
PHP5.3以降で使える。使わない人が圧倒的に多いので使わないようにしたほうがよい
▼ 比較演算子「==」と「===」
▼ 算術演算子
例 | 説明 |
-$x | -1 * $xと同じ |
$x + $y | 加算 |
$x - $y | 減算 |
$x * $y | 乗算 |
$x / $b | 除算 |
$x % $b | 剰余 |
/(除算)の返す値は割り切れれば整数、割り切れなければ浮動小数点数になる。
つまり、「元の数 = intval(元の数 / 割る数) * 元の数 + (元の数 % 割る数)」の関係になる。
・浮動小数点数の値同士で割ったときの余り(剰余 モジュロ)
▼ 文字列演算子
"."(ドット)を使うと文字列同士を連結することができる。
▼ 論理演算子
&&とand、||とor優先順位の違い