2013年09月10日 追記・変更

while文を覚える

while文は、for文と同様のループ処理を行うためのPHP構文で、条件が真の間だけ与えられた文の実行を繰り返すというループを記述するための文法。

for文とは異なり初期化式や変化式がないため、条件式で変数を使用する場合はwhile文よりも前で記述する必要がある。
条件式を変更するには「処理」の箇所で記述する必要がある。
例えば、ループの度に変数を増減したい場合は、「$変数名++;」といった具合だ。
while文はWordPressをカスタマイズする際によく使うので、しっかりマスターしてもらいたい。

while文を使う事例

while文は、for文と同じループ処理だが、どういう時に使うと便利なのかを知っておいてもらいたい。
while文を使用する際は、繰り返し回数が決まっておらず、条件式で評価する値が不規則に変わる場合だ。

簡単な例で言え ば、ユーザーからパスワードなどを入力してもらい一致するまで繰り返し入力を行うような場合だったり、
プログラムでテキスト文書などを読み込み、含まれていた文書を1行ずつ処理するような場合など。

もちろん、for文と同じような目的でwhile文を使用しても問題はない。
回数が決まっている時にはfor文で回数が未定の場合は while文を使うのが便利というだけだ。

while文の構文を覚える

while (継続条件式) {
	処理;
}

サンプルプログラム

このプログラムは永遠に繰り返されるのでエラーとなる。
<?php
// 永遠に繰り返されてしまう

$i = 1;
while($i == 1){

echo "条件式がtrueの場合の間、処理をする";

}
?>

サンプルプログラム2

永遠に処理を繰り替えさないためには、処理の中にカウンタの増減式を記述する必要がある。
<?php
// 変数$iが10を超えたら終了する

$i = 1;
while($i < 10){

echo "条件式がtrueの場合の間、処理をする";

$i++;
}
?>

サンプルプログラム3

他のPHP構文と組み合わせて使用する事が可能。
<?php


$i = 1;

if($i == 1){

// 変数$iが10を超えたら終了する
	while($i < 10){

		if($i == 2){
		echo "カウンタが2";
		}

	echo "条件式がtrueの場合の間、処理をする";

	$i++;
	}
}

?>

while文の書き方には2種類ある

while文もif文と同様に、2種類の書き方が出来る。
while文を書く際、while(条件式){処理}という形で、処理の部分を{と}で括った。 別の書き方も出来る事を知っておいてもらいたい。

サンプルプログラム

<?php


$i = 1;

if($i == 1):

// 変数$iが10を超えたら終了する
	while($i < 10):

		if($i == 2):
		echo "カウンタが2";
		endif;

	echo "条件式がtrueの場合の間、処理をする";

	$i++;
	endwhile;
endif;

?>
{}の代わりに、:を使用している。 また、if文はendif;、while文はendwhile;で終了している点に注目してもらいたい。

この記事が気に入ったら下のボタンをクリック

  • このエントリーをはてなブックマークに追加
  • Clip to Evernote
  • LINEで送る


Leave a Reply