PHPでwhile文(ループ処理)を使う方法【初心者向け】
プログラミング初心者向けに、【PHPでwhile文(ループ処理)】を使う方法を解説した記事です。同じループ処理のfor文との違いも比較しています。while文は、条件を優先的に繰り返したい場合に使います。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
プログラミング初心者向けに、PHPの基礎を紹介する記事です。
今回は、PHPでwhile文(ループ処理)を使う方法を解説します。
なお本記事は、TechAcademyのPHPオンライン講座の内容をもとにしています。
また、開発環境はXAMPPを使っています。
そもそもPHPが何か分からない場合は、先にPHPとはの記事をご覧ください。
なお、今回の記事の内容は動画でもご覧いただけます。
テキストよりも動画の方が理解しやすいという場合はぜひご覧ください。
while文とfor文の違い
プログラムのなかでは、ある数値や数式、文字列を繰り返し用いるシーンは多く見られます。
phpでループ(繰り返し)処理をおこなうときは、用途に応じて for文 と while文 という2種類を使い分けます。
ざっくり言えば、2つの違いはこのようになります。
- 繰り返し回数を優先的に指定したい場合はfor文
- 条件を優先的に繰り返したい場合はwhile文
この違いがわかったところで、while文の使い方を覚えていきましょう。

繰り返し文は、for文だけじゃないんですねー。

そうなんだ。でもfor文もwhile文も同じことが出来るよ。

同じことが出来るのに、2つに分かれているのはなぜですか?

繰り返す条件を、処理中に変更したり、繰り返す回数がわからない場合や特定の条件で途中で中断する場合にはwhile文の方が便利な場合があるんだ。さっそくwhile文を書いてみよう!
while文の書き方
while文は、条件式に合っている(真である)間中ずっと処理を繰り返すもので、次のような形式で書きます。
初期値;
while(条件式){
処理を実行する
増減式;
}
初期値、条件式、増減式とは、それぞれこのような意味を持ちます。
- 初期値 – はじめの値
- 条件式 – どういう条件のところまでロープ処理をおこなうか
- 増減式 – 処理一回ごとに、値をいくつ増やしたり減らしたりするか
[PR] PHPプログラミングで挫折しない学習方法を動画で公開中
実際に書いてみよう
説明だけではイメージしにくいと思うので、実際に while文 を書いて実行してみましょう。
(ここでは、変数名を $i と名付けました)
$i = 0;
while($i < 5){ echo $i; $i++; } ?>
これで、「0からスタートし(初期値)、5より小さい値まで(条件)、1ずつ足していく」という指定ができました。
出力結果はこのようになります。
for文とwhile文の使い分けをきちんと理解するのは難しいので、ここでは次のことだけ覚えておくといいでしょう。
※for文は、繰り返す回数が大事なので、はじまりから終わりまでの数値を把握するために、( )内には初期値・条件式・増減式をすべて書く。
※while文は、回数は気にせず、繰り返すにあたっての条件が大事なので、( )内には条件式のみでOK。
無限ループ
最後に、無限ループを紹介しておきましょう。
たとえば、0からスタートして、「01234567891011……100……」と1ずつカウントを増やしていく式を条件式を設定せずに書くと、次のように半永久的にカウントが増え続けます。
これが無限ループです。
しかし、この処理は決しておこなってはいけません。なぜなら、半永久的に実行されるということは、処理が終わらないため、プログラムに負荷が掛かりクラッシュしてしまうからです。
条件をきちんと書かないと、ループし続けるので注意してください。
実は私も!?独学で損する人の特徴
「スクールは高いから独学で成功する」という気持ちの方は多いと思います。
もちろんその方が金額は低く抑えられるでしょう。
ただ
独学には向き不向きがあり、実はスクールが向いている人も大勢います。
そんな方のために参考として、
テックアカデミー卒業生がスクールを選んだ理由
をご紹介します。
- ・困って挫折しそうなときに、質問や相談できる相手がいる環境で学んでいきたいなと思った
- ・わかった気になっているだけだったので、自分を追い込む環境に置いた方がいいと感じた
- ・スクールのカリキュラムで市場に求められるスキルを学ぶべきと思った

少しでも当てはまる部分があれば、
スクールが向いているかもしれません。
お試しのつもりで、まずは一度
無料相談
に参加してみませんか?
現役エンジニア・デザイナーに何でも気軽に相談できる30分
を
すべて無料で
できます。
無理な勧誘は一切ない
ので、お気軽にご参加ください。
おわりに
今回の記事は以上です。
ループ処理についてさらに学びたい場合は、PHPでfor文(ループ処理)を使う方法も合わせてご覧ください。

無限ループって怖いですね。今、やってみたんですが30秒?オーバーで停止されたみたいです。

ローカルの開発環境やレンタルサーバーだと30秒以上動かないから停止したんだね。while文は無限ループになりやすいんだ。

何か防ぐコツはありますか?

慣れとコツかな。while文で何をしたいのか、ということを意識して書けるようになると、大丈夫かな。
PHPを勉強していて、
・もっと効率的に勉強したい
・誰かに聞きながら学びたい
・自分でWebサービスを作りたい
と思ったことはないでしょうか?
そんな方のために、TechAcademyではオンラインブートキャンプPHP/Laravelコースを提供しています。
現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、オリジナルWebサービスを開発することが可能です。
独学に限界を感じている場合はご検討ください。

プログラミングを独学していて、このように感じた経験はないでしょうか?
- ・調べてもほしい情報が見つからない
- ・独学のスキルが実際の業務で通用するのか不安
- ・目標への学習プランがわからず、迷子になりそう
テックアカデミーでは、このような
学習に不安を抱えている方へ、現役エンジニア講師とマンツーマンで相談できる機会を無料で提供
しています。
30分間、オンラインでどんなことでも質問し放題です。
「受けてよかった」と感じていただけるよう
厳しい試験を通過した講師
があなたの相談に真摯に向き合います。
「ただ気になることを相談したい」
「漠然としているがプロの話を聞いてみたい」
こんな気持ちでも大丈夫です。
無理な勧誘は一切ありません
ので、まずはお気軽にご参加ください。
※体験用のカリキュラムも無料で配布いたします。(1週間限定)