
制御構造(if や switch など)についてです。
PHPで使える制御構造
PHP7 で使える制御構造の種類は?
if , ifelse , else , while , do while , for , foreach , switch , break , continue , goto
if if
まずは if 文!
if (条件文) { ・・・ } elseif (条件文) { ・・・ } else { ・・・ }
elseif は else if って書いてもいいの
if(コロンを使った書き方)
if 文って、コロンを使った書き方もあるんですね
うん、上の中括弧 { } を使った記法とごちゃまぜで書かないようにしてね
if (条件文): ・・・ elseif (条件文): ・・・ else: ・・・ endif;
コロンを使って書くときは、elseif を else if って書くことができないの
while , do-while while do.while
while 文 と do~while 文 です
while (条件文) { ・・・ }
do { ・・・ } while (条件文);
for for
for 文 です
for (式1; 式2; 式3) { ・・・ }
- 式1・・・初回のみ実行
- 式2・・・ループ毎に最初に実行
- 式3・・・ループ毎に最後に実行
- 式1,式2,式3 は何も書かなくてもよい(無ければ何もしない)
- 式1,式2,式3 には、カンマ(,)で区切って複数の式を書いてもよい
for(コロンを使った書き方)
for 文もコロンを使った書き方ができるんですね
for (式1; 式2; 式3): ・・・ endfor;
foreach(配列,オブジェクトのループ用) foreach
foreach 文っていうのもあるんですね
// $arr : 配列 // $v : 要素を代入する変数 foreach ($arr as $v) { ・・・ }
// $arr : 配列 // $k : 添え字を代入する変数 // $v : 要素を代入する変数 foreach (配列 as $k => $v) { ・・・ }
- ループの中で元の配列を直接変更したいとき・・・上の例で &$v として$arrの要素を直接参照すればよい。
foreach ($arr as &$v) { ・・・ }
- ただし、& を使った変数については、配列の参照ポインタが今どこにあるのか把握していないと思わぬバグの原因になる。同じ変数を使いまわす場合は unset unset で変数を初期化してから使った方がよい。
& を使った変数の参照は気をつけて使ってね
switch switch
switch 文 です
switch ($a) { case 値1: ・・・ break; case 値2: ・・・ break; default: ・・・ }
case 値;
や default;
みたいに、コロンをセミコロンで書いてもいいの
switch(コロンを使った書き方)
switch 文も中括弧 { }の代わりにコロンを使って書けるんですね
switch ($a): case 値1: ・・・ break; case 値2: ・・・ break; default: ・・・ endswitch;
ループをコントロールする
ループを抜けたりするための命令です