制御構文・制御構造 PHP

スポンサードリンク

スポンサードリンク

制御構文・制御構造とは

構造化プログラミング(順次・選択・反復)を行うための仕組み。

 

PHPにおける制御構文

条件分岐(選択)

・if文

・if-else文

・switch文

・三項演算子

 

ループ処理(反復)

・while文 ループ処理

・for文 カウンタ変数(整数)を利用したループ処理

・foreach文 配列専用のループ処理

 

条件分岐・ループを制御する文(ステートメント)

・break文 条件分岐やループ処理を止める。

・continue文 ループ処理をスキップする。

 

条件分岐 if文 if-else文 switch文

if文

構文

if(条件式){

条件式がtrueのときに実行される処理;

falseだった場合は、カッコ内は実行されず波括弧の閉じ後が処理される。

※条件式の値のデータ型がbooleanでない場合にはデータ型が自動変換(キャスト)される。

if-else文

構文

if(条件式){

条件式がtrueのときに実行される処理;

}else{

条件式がfalseのときに実行される処理;

}

※式とは、値・変数・演算子・関数を組み合わせたもの。

※{}の省略

{}内の処理が一つだけの場合は、{}を省略することができる。

但し、複数の場合は省略不可。

 

switch文

switch分は条件式の結果の値をそのまま処理の分岐に使用できる。

if分は条件式の結果はbooleanのみ。

 

構文

switch(条件式){

case 値1:

条件式の値が値1の場合実行する処理;

break;

case 値2:

条件式の値が値2の場合実行する処理;

break;

case 値3:

条件式の値が値3の場合実行する処理;

break;

default:

式の値がどのcase文にも該当しないときの処理;

break;

※case文は複数設定可能。

default文は記述してもしなくても可。

三項演算子

構文

条件式 ? 条件がtrueのときの値 : 条件がfalseのときの値;

 

ループ処理 while文 for文 foreach文

while文

条件式がtrueの間、繰り返し処理を行う。

構文

while(条件式){

条件式がtrueの間、ループする処理;

※開始処理や更新処理が不要なループ処理を実行する場合に使う。

 

while文をfor文のように使う場合。

 

カウント変数の設定;

while (条件式){

条件式がtrueの間、ループする処理;

更新・ループするたびに行う処理;

}

 

for文

カウンタ変数(値が整数)を利用して繰り返し回数を指定してループ処理を行う制御文。

構文

for(初期値(カウンタ変数); ループ継続条件式 ; 増減式(カウンタ変数)){

繰り返し(ループ)処理;

(条件式がtrueの時に行う処理)

falseの場合はfor文から抜ける。

 

foreach文

配列専用のループ処理。

配列の値を1つずつ取り出して、ループする。

配列の要素数だけループする。

取り出した値は変数に代入され処理の中で利用することができる。

構文

foreach(配列 as 値を代入する変数){

変数を使った処理;

配列のキーと値を1つずつ取り出して、ループする。

配列の要素数だけループする。

取り出したキーと値は変数に代入され、処理の中で利用することができる。

構文

foreach(配列 as キーを代入する変数 => 値を代入する変数){

キーの変数と値の変数を使ったを使った処理;

 

条件分岐・ループを制御する文(ステートメント)

break; break文 break命令

条件分岐処理やループ処理を強制的に中断する命令。

switch文 for文 foreach文 while文で利用できる。

制御文がネストの場合。

一番内側のループ・条件分岐から脱出できる。

 

continue;  continue文

処理をその場で中断して(後続の処理はせずに)次のループ処理にスキップする。

制御文がネストの場合。

一番内側のループをスキップする。

 

:(コロン)を使った制御構文の表記

開始の{ 波括弧 → :

終了の  }波括弧 → end〇〇;

 

if(条件式): endif;

switch(条件式):  endswitch;

while(条件式):  endwhile;

for(条件式) :  endfor;

foreach(条件式):  endforeach;

 

if(条件式): endif;

構文

if(条件式1):

条件式がtrueの場合の処理;

elseif(条件式2):

条件式1がfalseで条件式2がtrueの場合の処理;

else:

どの条件も満たさない場合の処理;

endif;

while(条件式):  endwhile;

構文

while(条件式):
条件式がtrueのときの処理
条件式が最終的にfalseになるための処理
endwhile;

スポンサードリンク

スポンサードリンク