for文を理解したい人向け
for文とは?
for文の書き方がわからない
for文を復習したい
こういった疑問を解決します。
本記事の内容
・for文とは?
・for文の書き方
・for文と配列は相性が良い
for文とは?
回数が決まっている繰り返しの処理を実行できる反復の制御文です。
forを用いると、特定回数の反復などの処理を簡潔に記述することができます。
for文の書き方
for文の書き方は以下のように書きます。
for ( 初期化式; 条件式; 反復式) {
文
}
for文は次のように動作します。
① 初期化式を実行
② 条件式を評価し、trueならば文を実行、falseならばfor文を終了
③ 文の実行が終わると反復式を実行
④ 再び条件式を評価し、trueならば文を実行、falaseならばfor文を終了
⑤ ③と④を繰り返す
以下のソースコードを見てみましょう。
<?php for ($i = 1; $i <= 10; $i++;) { echo $i . '回目' . PHP_EOL; } //実行結果 1回目 2回目 3回目 4回目 5回目 6回目 7回目 8回目 9回目 10回目
初期化式「$i = 1;」
変数$iに1が入っています。
条件式「$i <= 10」
$iは10より小さいか、等しい。
反復式「$i++」
$iに1を足す。
これをfor文の動作と照らし合わせると
①(初期化)$iは1
②(条件式)1<=10なのでtrue、文「echo $i . '回目' . PHP_EOL;」を実行
③(反復式)$i++で1+1を行う
④(条件式)2<=10なのでtrue、文「echo $i . '回目' . PHP_EOL;」を実行
⑤(反復式)$i++で2+1を行う
⑥(条件式)3<=10なのでtrue、文「echo $i . '回目' . PHP_EOL;」を実行
⑦条件式がfalseになるまで繰り返し
演算子についてわからない方は、以下の記事を参考にしてください。
for文は配列(array)と相性が良い
for文は配列(array)と相性が良いです。
配列に入っているデータをfor文で出力することができます。
以下のソースコードを見てみましょう。
<?php $sports = ['サッカー', '野球', 'テニス', 'バスケットボール',] $count = count($sports); //配列の中身の数を$countへ代入、今回は4が入っている for($i = 0; $i <= $count; $i++;) { echo $i . '番目:' . $sports[$i] . PHP_EOL; } //実行結果 0番目:サッカー 1番目:野球 2番目:テニス 3番目:バスケットボール
解説です。
・$sportsにサッカー、野球、テニス、バスケットボールの4つが入っています。
・$sportsに入っている配列の数をcount($sports)で数えています。今回はcountで4が算出され、$countに4が入りました。
for文では
・「$i = 0」で初期化
・「$i <= $count」で$iが4より小さいか等しい条件式
・「$i++」$iに1を足していく条件式
文「echo $i . '番目:' . $sports[$i] . PHP_EOL;」では
・「$i . '番目:'」で「0番目:」「1番目:」のように出力
・「$sports[$i]」は変数$sportsから$iが0であればサッカー、1であれば野球、2であればテニスのように配列の中身を取り出すように書いています。
配列のアクセス番号が0からなので「$i = 0」と記述しないと配列の一番最初(今回はサッカー)へアクセスできません。
まとめ
・回数が決まっている繰り返しの処理を実行できる反復の制御文
・for文の書き方は以下
for ( 初期化式; 条件式; 反復式) {
文
}
・for文の動作
① 初期化式を実行
② 条件式を評価し、trueならば文を実行、falseならばfor文を終了
③ 文の実行が終わると反復式を実行
④ 再び条件式を評価し、trueならば文を実行、falaseならばfor文を終了
⑤ ③と④を繰り返す
for文は繰り返しの基礎ですので、しっかり理解しましょう!