アットウィキロゴ

PHP基礎④(5大構文(if・switch・while・for・foreach)とHTML埋め込み)

【5大構文】

●if文

※比較演算子と論理演算子の組み合わせ

if構文①;

if(条件){
	条件がTRUEの処理
}

※条件がTRUEの場合は{}内の処理を行う

例:
$no = ■■■;

if ($no == 777){
    echo'大当たり!!';
};

※■■■のところに777がはいれば「大当たり!!」と表示される。それ以外の文字、数字などの場合は、何も表示されない。



if構文②;

if(条件){
  ①条件がTRUEの処理(条件と照らし合わせて同じ場合に出力)
} else {
  ②条件がFALSEの処理(条件と照らし合わせて違う場合に出力)
}
※条件がTRUEの場合は①処理、FALSEの場合は②の処理を行う。


例:
$gender= '■';

if($gender == 'F'){
	echo '女性です';       
} else {
	echo '男性です';      
};
※■のところにFがはいれば「女性です」と表示、それ以外の文字・数字などの場合は「男性です」と表示される。


if構文③;

if(条件A){
	①条件AがTRUEの処理
}  elseif(条件B)
	②条件BがTRUEの処理
}else {
	③A,Bどちらの条件以外はFALSEの処理
}
※条件AがTRUEの場合は①処理、条件BがTRUEの場合は②処理、条件ABのどちらにも当てはまらない場合は、③の処理を行う。
※条件が複数ある場合、elseifを使用


例:
$gender= '■';

if($gender == 'F'){
	echo '女性です';       
} elseif($gender == 'M') {
	echo '男性です';        
} else {
	echo '人間ではない';        
};
※■のところにFがはいれば「女性です」と表示、Mがはいれば「男性です」と表示、それ以外の文字・数字などの場合は「人間ではない'」と表示される。


●switch文

※複数条件時使用、if文と同じことができる。

switch($変数名or配列データ){
		case 値1:
		値1の処理;
		break;
	case 値2:
		値1の処理;
		break;
	default;
		デフォルト処理;
}
※値の後ろは:(コロン)、処理の後ろは;(セミコロン)を使用。
※defaultに割り当てる値がない場合はdefaultの後に値を記載しなくても大丈夫。
  ⇒defaultは必ず最後に持ってくる(最初に持ってきた場合全てデフォルトの値が表示されてしまうため)
※break;はそれ以降繰り返さないでいいですよ、という命令。これがないと処理が繰り返される。

例:
$gender = '■';

switch ($gender){
	case'F':
		echo '女性です';
		break;
	case'M':
		echo '男性です';
		break;
	default;
		echo '人間ではありません';
}
※■のところにFがはいれば「女性です」と表示、Mがはいれば「男性です」と表示、それ以外の文字・数字などの場合は「人間ではない'」と表示される。


●while文、インクリメントとデクリメント

※while文は、一定の繰り返し処理を行う。

while (ループ条件){
	条件TRUEの時の処理;
}

例:
「1から10までを表示したい場合」
$i = 1;
while ($i <= 10){
	echo $i.'<br />';
	$i++;
};

以下のように表示される。

12345678910
※これは、
①$i <= 10     ; $iが10以下かどうかチェック
②echo $i.'<br />' ; $iを表示
③$i++       ; $iに1を足して結果を$iに上書きする($i++は$i += 1;と同じ意味)処理を行う。)
④①~③を繰り返し、条件以上の数値になったら処理・表示をやめる。
※$i++は$i += 1;と同じ意味

▼インクリメントとデクリメント


$i++ : インクリメント(1ずつ増えていく)
$i-- : デクリメント(1ずつ減っていく)
※かける、割る、はない(1×1、1÷1を繰り返しても1の繰り返しにしかならないため)

**********************************************

《$iの謎》

「i」という変数名はプログラムでよく利用される文字の1つです。
「index」の略称で、1から順番に数える時などによくつかわれます。「$n」や「$x」など、人によって好きなアルファベットを使う場合もありますが、$iが一般的です。
また、iを使っている最中に、さらに変数が必要になった場合、「j」が使われます。
これは単に「アルファベットのiの次の文字」ということで使われ、さらに「k」「l」「m」と続きます。
**********************************************

●for文

※一定の繰り返し処理を行う。
※while文が複数行だったのに対し、for文は少ない行数で書ける

for(初期カウンタ;条件;ループ終){
 	処理;
}
※初期カウンタ=開始値

例:
for ($i = 1;$i <= 10;$i++){
	echo $i;
}

以下のように表示される。

12345678910

※これは、
①$i = 1(スタートの値:初期カウンタ)                          
②echo $i(出力しろという命令)                             
③$i++($iを加算白という命令)                              
④$i <= 10(10以下までしかだめですよというチェックの条件)              
⑤②~④の繰り返し                                       



★PHPにHTMLタグを埋め込む★

変数をHTMLタグや文字列の数値の部分に代入して使うことが可能。
その場合、文字列と変数・処理を結合演算子でつなぐ。

例:
見出しタグ1~6をfor文を使って出力する場合、
for($i = 1;$i <= 6;$i++){
	echo '<h' . $i . '>見出しタグ' . $i . '<h' . $i . '>';
}

以下のように表示される。

見出しタグ1
見出しタグ2
見出しタグ3
見出しタグ4
見出しタグ5
見出しタグ6
※実際は<h1~6>の文字サイズでそれぞれ表示される。



▼breakとcontinue

break:処理を中断してループ全体から抜ける。

continue:ループの処理をスキップする

▽break例:

$i = 1;
while ($i < 5){
	echo 'カウント' . $i . '回目';
	echo '<br />';

	if ($i > 2){
	echo'脱出!!!!!!!!!';
	break;
	}

	$i++;
};

以下のように表示される。

カウント1回目
カウント2回目
カウント3回目
脱出!!!!!!!!!


※これは、
①$i = 1です。                                                                         
②echo 'カウント' . $i . '回目';とecho '<br />';を表示                                        
③if ($i > 2)により、$iが2より大きいかどうかをチェック                                                 
 ⇒小さい場合:スルー、③に進む                                                               
 ⇒大きい場合:echo'脱出!!!!!!!!!';を表示 + break;=それ以上くりかえさないでいいという命令が働く  
④$i++;により+1増える                                                                     
⑤while ($i < 5)の条件、$iが5より小さいかどうかをチェック                                              
 ⇒②へもどり、②~⑤をループし続ける。                                                           





▽continue例:

for ($i = 1;$i <= 5; $i++){

if($i == 3){
	continue;
}

echo 'カウント' . $i . '回目';
echo '<br />';
};

以下のように表示される。

カウント1回目
カウント2回目
カウント4回目
カウント5回目

※これは、
①$i = 1です。
②if($i == 3)により、$iが3と同じかをチェック
 ⇒3の場合:continueをしなさいという命令が働く、continueはそれ以下(それより下)の内容をスキップしなさいという命令(③の$i++をとばし、④にいく)
 ⇒違う場合:continueをスルーして③に進む
③「echo 'カウント' . $i . '回目';」と「echo '<br />';」を出力しなさいという命令
④$i++ により、$iに+1される。
⑤$i <= 5 により$iが5より小さいかどうかを確認。
 ⇒②へもどり、②~⑤のループ
※if文の条件に当てはまった場合、continue以下の「echo 'カウント' . $i . '回目';」と「echo '<br />';」がスキップされる。


▽for文を使った配列の例①:

※array関数の配列番号(キー)に$iを入れる
$aar = array('aaa' , 'bbb' , 'ccc');
for ($i = 0; $i < 3;$i++){
echo $aar[$i];
}

以下のように表示される。

aaabbbccc

※これは、
①$i = 0です、という前提条件
②echo $aar[$i] : $aarの配列番号$i(=1回目は0)を表示しなさい
③$i++      :$iに+1される。
④$i < 3 :$iが3より小さいかどうかを確認。
 ⇒②へもどり、②~④のループ


▽for文を使った配列の例②:

※関数「count(配列)」(キー数をカウント(配列の引き出しの数を表示する))を使用して、配列数(引き出しの数)分の
それぞれの値を出力する。

$aar = array('aaa' , 'bbb' , 'ccc');
$cnt = count($aar);
echo '引き出し数は' . $cnt . '<br />';
for ($i = 0; $i < $cnt;$i++){
echo $aar[$i];
}


●foreach文

※配列専用のループ構文、準備されている配列の数だけ繰り返される。

foreach(配列 as 変数){
処理;
}

例:
$array[] = '配列のデータを';
$array[] = 'foreachで';
$array[] = 'ループして';
$array[] = '出力してみる';

foreach($array as $value){
echo $value;
};

以下のように表示される。

配列のデータをforeachでループして出力してみる


※これは、
①$arrayのキー配列の0番目の内容を$valueという別の箱(変数)$valueに一時的に入れます。
②$valueを表示出力しろという命令
③$arrayのキー配列の1番目の内容を$valueという別の箱に入れます。※そのとき①のデータ(キー0の値)はうわがかれて消える。
④$valueを表示出力しろという命令
 ⇒繰り返し
⑤配列数分の出力したら終了
※順次実行のため、上記の処理の後の$valueには最後に上書きされた内容が入っている(上記の場合だと$array[] = '出力してみる';)



▼foreachでキーを扱いたい場合、

foreach(配列 as キー変数 => 値変数){
   処理;
}

例:
$cgweb = array(
'course' => 'このコースは',
'start_date' => '1から',
'end_date' => '10まで',
);
foreach($cgweb as $key => $value){
	echo $key . 'の中には' . $value . '<br />';
};

以下のように表示される。

courseの中にはこのコースは
start_dateの中には1から
end_dateの中には10まで

※これは、キー配列の順番に$keyに配列名(キー)を、$valueに値が代入される。


★HTMLにPHPを埋め込む★

一枚のシートにHTML・PHPを両方記述することが可能、
その場合、ロジックとテンプレートを切り分けて記述したほうが良い。

 ⇒HTMLとPHP.bmp参照

例;
<?php
$h1 = '<h1>PHP:HTML</h1>';
$title = 'PHPをHTMLに埋め込む';
$today = date("Y年m月d日");

$prefecture = array('【都道府県】',
'北海道',
'青森県',
'岩手県',
'宮城県',
'秋田県',
'山形県',
'福島県',
'茨城県',
  ~
'大分県',
'宮崎県',
'鹿児島県',
'沖縄県');
?>

<html>
<head>
	<title><?php echo $title; ?></title>
</head>
<body>
	<?php echo $h1;?>
	<p>
		<!-- 設定済み変数出力 -->
		<?php //phpコメントを書く?>
		今日は<?php echo $today;?>
	</p>

	<p>
		都道府県のプルダウン:
		<select>
			<?php foreach($prefecture as $key => $value){ ?>
				<option value="<?php echo $key;?>" >
				<?php echo $value ?></option>
			<?php }?>
		</select>
	</p>
</body>

</html>

以下のように表示される。

 ⇒HTMLとPHP2.bmp参照

最終更新:2012年01月31日 20:03
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。