whileは、PHPの中で最もシンプルな繰り返し構文です。
投稿一覧表示のときなど、ワードプレスサイトでは、ほぼ必ずと言っていいほど使われています。
繰り返し処理は、プログラミングでは基本中の基本です。
ワードプレスを扱うあなたはもちろん、ワードプレスを扱わないあなたも絶対に覚えておきましょう!
whileの基本構文
PHPのwhile基本構文は、JavaScriptの記述方法と全く同じです!ラッキー!
条件が真(true)であり続ける限り、同じ処理を繰り返すという動きをします。
while(条件){
実行される処理;
};
真である限り処理が続くので、無限ループに陥らないように注意しなければなりません。
いつかは偽になるときが必ず訪れる記述が必要になります。
サンプルコード
自身のphpファイルにコピペして動きを確認してみましょう!
<?php
$w = 0;
while($w < 5){
echo "<p>{$w}</p>";
$w++;
};
?>
$w++; をコメントアウトすることで、無限ループ体験をすることができます!やったね!
ただパソコンが固まる可能性が十分にあり得ますので、大事なものは必ず保存してから実行しましょう。
HTMLと混ぜて使う場合
PHPはHTMLと混在させながら使っていきます。
そのため、whileの処理内で、HTMLの出力を繰り返す記述方法があります。
<?php while(条件): ?>
出力を繰り返すHTML部分
<?php endwhile; ?>
ここで、ifの時と同じような注意点が2つあります。
① while の終了サイン endwhile
通常のwhile構文には出てこなかった、endwhile というものが出てきていますね。
これは「whileで繰り返し出力するHTMLはここまでですよ」というサインです。
これがないとどこまで繰り返せばいいか分かりませんからね。
② :(コロン)と ;(セミコロン)
一番最初の while() の後ろにはコロン、最後の endwhile の後ろにはセミコロンをつかいます。
間違えるとエラーになってしまうので、注意しましょう。
サンプルコード
こちらのサンプルコードは、上で紹介したサンプルコードを書き換えたものです。
<?php $w = 0; ?>
<?php while($w < 5): ?>
<p><?php echo $w; ?></p>
<?php $w++; ?>
<?php endwhile; ?>
HTMLを出力する際は、圧倒的にこちらの記述方法をつかいます。
内容がしょぼいのであまり楽には見えないかもしれませんが、HTMLの中身が増えると、圧倒的にこちらの方が記述が楽かつ綺麗になります。