このページについて
このページではphpのwhileループの使い方と、使う上での注意点を解説しています。while文の特徴などをしっかりと把握して使っていきましょう。
whileループ
このwhileループ(while文)は最も簡単にループ処理を実行させる事ができる関数になります。while文の基本的な書き方は以下の通りです。
while (式){
処理内容
}
式のところにwhileループを実行するための条件を設定します。比較演算子を使うのであればa<bのように書きます。処理内容は{}で囲った部分全てを1回実行するんですが、この時の書き方は別の方法でも可能です。
while (式):
処理内容
endwhile;
{}で囲うのが簡単ですが、endwhileを使ってここまでがwhileループですよっていう書き方をしても可能です。使いやすい方でいいと思います。
無限ループ
whileはどのプログラミング言語にもありますが、どのプログラミング言語でも簡単に無限ループに陥るのがこのwhileです。なので終了条件の設定等は確実にしておきましょう。以下は無限ループになる例です。
$i = 0;
$a = 10;
while ($i<$a) {
echo $i;
}
式は$i<$aとなっています。そして処理内容は$iを出力するというシンプルなものですが、$iは常に0のままで変化しない処理内容となっているので無限ループとなります。この場合はechoの後に$i++を入れる事で解決します。無限ループにならない書き方が以下になります。
$i = 0;
$a = 10;
while ($i<$a) {
echo $i;
$i++;
}
1回のループ処理の中でちゃんと値を変化させて終了条件を達成できるようにすれば、無限ループは防ぐ事ができます。
他のループ関数との違い
phpを始め、プログラミング言語にはほぼ共通と言ってもいいレベルにループ関数が複数あります。その違いを簡単にまとめると
- forループ
- 式を3つ設定して、ちょっと凝ったループをしたい場合に使えたりします。
- while
- 式がtrueの場合、常にループを実行する。超シンプル
- do while
- まず1回処理を実行した後でwhileの式を評価してループをするかどうか判断する。
- foreach
- 配列に対してループ処理を行う。
それぞれの違いはこんな感じです。
まとめ
whileは式がtrueならループ処理を行うという簡単な書き方でループが実現できます。その反面、しっかりと終了条件の設定などを確認しないと簡単に無限ループに陥ります。その辺りをしっかりと把握して使いましょう。
- phpの基礎
- phpとは?JavaScriptとの違いは?みたいなことから、基本の書き方などを解説。
- echoとprint
- 画面に文字を出力する2種類の言語構造の使い方
- 変数
- phpで使える変数の扱い方などを解説しています。
- 変数のスコープ(有効範囲)
- 変数のスコープについての解説です。
- var_dump
- 変数の情報を見ることができる関数
- print_r
- 変数の情報をわかりやすい形式で表示する関数
- 配列と連想配列
- 配列と連想配列の書き方と、便利な関数の解説など。
- key
- 連想配列のキーを返してくれます。内部ポインタ関係あり。
- count
- 配列や連想配列の要素数を数えてくれる関数の使い方解説。
- ソート関数
- 配列に対してソートを行う関数の中から、代表的な5つの使い方解説です。
- array_reverse
- 配列の中身の順番を反転させる関数です。
- array_chunk
- 配列を指定した数で分割させるarray_chunk関数の使い方解説です。
- array_combine
- 2つの配列を足して1つの連想配列にする関数です。
- array_diff
- 2つの配列を比較して、存在しない値を出力する関数
- array_push
- 配列に対して後方に要素を追加する関数
- array_unshift
- 配列に対して先頭に要素を追加する関数。
- array_shift
- 配列の先頭の要素を取り出す関数。
- array_merge
- 複数の配列を統合して1次元の配列にする関数
- array_intersect
- 2つの配列を比較して、両方に共通するものを出力する関数
- include
- includeを使って別のphpファイルを読み込む方法の解説。
- if文
- if文を使って処理を変更させる方法の解説。
- switch文
- switch文を使って複数の処理分岐を行わせたい時に使います。
- forループ
- forループを使って同じ処理を行わせる方法の解説です。
- whileループ
- whileループを使って同じ処理を行わせる方法の解説と注意点。
- do-whileループ
- do-whileループを使って同じ処理を行わせる方法の解説です。
- foreachループ
- foreachループを使って配列内のアイテム全てに処理を行う方法の解説です。
- continue
- ループ処理の残りをスキップしつつ、ループの先頭に戻る制御構造
- ループのネスト構造(入れ子)
- ループの中にループを入れる書き方や考え方の解説。
- function
- functionを使って自作の関数を作成・使用する方法の解説。
- 引数の種類と書き方解説
- functionで扱う引数の種類と書き方を解説
- return
- returnの使い方と関数での使い方解説。
- class
- classを作成して変数と関数を1つにまとめる方法と使い方の解説。
- constructとdestruct
- classのインスタンス作成と同時に処理を行うconstructと、スクリプトの終了と同時に実行するdestructの解説です。
- インターフェイス
- インターフェイスという用語の解説と、実際の使い方解説
- トレイト
- コードを再利用するのに便利なトレイトの解説です。
- 列挙型
- プログラム中で使う変数名をあらかじめ定義しておく。そんな感じの型。
- PDOを使ってMySQLへ接続
- PDOを使ってMySQLへ接続し、データを取得する方法の解説です。
- データの加工と表示
- PDOでデータベースから取得したデータを加工して表示する方法の解説です。
- HTMLフォームのデータ受け取りと表示
- HTMLで作ったフォームからのデータの受け取り方法と、その表示方法の解説です。