カテゴリー
PHP

PHP7(5)制御構造

制御構造(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;

ループをコントロールする

ループを抜けたりするための命令です

  • break;  break  ・・・ループから抜ける。数字を付けてループを抜ける深さを指定もできる(デフォルト1)。
  • continue;  continue ・・・ループをスキップする。数字を付けてスキップするループの深さを指定もできる(デフォルト1)。
  • goto LABEL;LABEL: に飛ぶ  goto ・・・深いループからの脱出など。ループの中へのジャンプはできない。