どうも、p太郎です(‘_’)
今回は制御構文を勉強したので、備忘録も兼ねてまとめて共有します(*´ω`)
正直Javaとの違いはほぼなく、駆け足で進めたので、本記事でも駆け足でまとめちゃいます。
前回のPHPはこちら↓
条件分岐
if命令
if(条件式){ 条件式がtrueの場合に実行する処理 }else{ 条件式がfalseの場合に実行する処理 }
$hoge = 10; if($hoge === 10){ print 'hogeは10です。'; }else{ print 'hogeは10ではありません。'; }
結果:hogeは10です。
elseif命令(多岐分岐)
if(条件式1){ 条件式がtrueの場合に実行する処理 }elseif(条件式2){ 条件式がtrueの場合に実行する処理 }else{ 条件式1,2共にfalseの場合に実行する処理 }
$point = 75; if($point >= 90){ print '超良き'; }elseif($point >= 70){ print '良き'; }else{ print 'うーん・・・'; }
結果:良き
ちなみに↑の条件式ですが、条件式を書く順番に注意。
$point = 95; if($point >= 70){ print '良き'; }elseif($point >= 90){ print '超良き'; }else{ print 'うーん・・・'; }
↑は90以上なのに’良き’と表示されます。
$point = 70 が先に合致するので、’良き’と表示されてしまうんですよねぇ。
記述する順番に気を付けましょう(´・ω・)
switch命令(多岐分岐)
等価演算子による多岐分岐を使用する場合は『switch命令』を使うのがいいです。
コードがスッキリして見やすくなります(*^-^*)
switch(式){ case 値1: 式 = 値1 である時に実行 break; case 値2: 式 = 値2 である時に実行 break; default: 式が値1、2のいずれでもない場合に実行 break; }
特に難しいことはないので次行きます(´・ω・)
繰り返し処理
while / do~while 命令
while(条件式){ 条件式がtrueの間、繰り返し実行する処理 }
『while』が先頭で条件式を判定するのに対して、『do~while』は最後に条件式を判定している。
do{ 条件式がtrueの間、繰り返し実行する処理 }while(条件式);
試しに下記を実行してみると・・・
$i = 5; while($i < 5){ print "{$i}番目のループです。<br>"; $i++; }
while命令の結果:なにも表示されず
対して、do~whileを実行すると
$i = 5; do{ print "{$i}番目のループです。<br>"; $i++; }while($i < 5);
do~while命令の結果:5番目のループです。
という風に表示されるので、条件式関わらずに最低1回は処理を実行させたい時は、『do~while』を使うといいでしょう。
for命令
for(初期化式; 継続条件式; 増減式){ 実行する処理 }
基本的なfor文はまぁ置いておいて・・・。
カンマ演算子を利用して、『初期化式』『継続条件式』『増減式』に複数の式を指定できるようです。
for($i = 1, $j = 1; $result = $i * $j, $i < 4; $i++, $j++){ print "{$i}*{$j}={$result}<br>"; }
結果は
1*1=1
2*2=4
3*3=9
となります。
カンマ演算子を利用して、複数の式を記述する事ができるのはPHP以外の言語でも出来たはずですが、あまり利用しておらず忘れていました(´・ω・)
入れ子にするのと、カンマ演算子を利用するの、どちらがいいんでしょうねぇ・・・。
foreach命令
指定された配列・連想配列の要素を取り出して、先頭から順番に処理する。
配列
$datas = array('Java','PHP','C++'); foreach($datas as $val){ print "{$val}<br>"; }
結果
Java
PHP
C++
連想配列
$pachinkos = array('海物語' => 'パチンコ','ジャグラー' => 'スロット','ミリオンゴッド' => 'スロット'); foreach($pachinkos as $key => $val){ print "{$key} : {$val}<br>"; }
結果
海物語 : パチンコ
ジャグラー : スロット
ミリオンゴッド : スロット
まとめ
今回はここまで!
正直もう少し書きたいこともあったのですが、現在右手を骨折していまして( 一一)
片手だと書きたいこと全部書こうとすると、どんどん遅くなるので泣く泣く省略した箇所もあります(ノД`)・゜・。
今回省略した箇所で、『break』や『continue』は使用頻度は高いでしょうね・・・。
今回勉強に使わせて頂いた書籍はこちら
最後まで見ていただきありがとうございました!
ランキングに参加していますので、よろしければ応援よろしくお願いします!
コメント