for文

for文は少し複雑なループ処理ですが、基本3つの構成で成り立ってます
1.初期化構成
2.条件判定構成
3.式構成

上記の構成をプログラムにすると下記のようになります

for ($i = 1; $i <= 10; $i++) {
echo $i; // 変数$iの値を出力
処理の流れ
1. $i = 0;  変数$iに0を代入します(初期化構成)
2. $i <= 10; 比較演算条件 $iの値が10以下なら真になります(条件判定構成)
3. $i++   加算演算子で 変数$iに+1を加算します(式構成)
4. 変数$iの値を出力します
5. 条件が真の場合は繰り返し 1~4を繰り返す
}

for文のサンプルプログラムで確認してみましょう

<?php
// 基本的な構成
for ($i = 1; $i <=10; $i++) {
    echo $i . '回目' . PHP_EOL;
    // PHP_EOLは環境に対応した改行コードを出力する定数
}

// 初期化処理を省く事も可能です
$i = 10;
for (; $i <= 20; $i++) {
    echo '$iの値:' . $i  . PHP_EOL;
}

// 式3を減算してみましょう
$i = 10;
for (; $i > 0; $i--) {
    echo '$iの値:' . $i  . PHP_EOL;
}
?>

最初は変数$iを加算して、慣れたら減算してみましょう

for文の悪い書き方のプログラムの例を上げます

for文の条件判定処理が悪いと処理速度が遅くなるので必ずfor文はこう書きましょう

<?php
// 配列を定義
$users = ['太郎' , '花子' , '次郎' , '三郎' , '史郎'];

/**
* 悪い例
* $i < count($users)
* count()関数は配列の要素数を返す
* このcount関数がループする度に呼ばれるので配列の要素数が多くなると
* 処理が遅くなります
*/
for ($i = 0; $i < count($users); $i++) {
    echo $users[$i] . PHP_EOL;
}

/**
* よい例
* 条件処理にcount()の値を変数に代入して比較条件を行う
* 変数に代入する事で、ループの回数分count()関数が呼ばれなくなるので
* 処理の一つをループの回数分省けるので処理が速くなります
*
*/
$max = count($users);

for ($i = 0; $i < $max; $i++) {
    echo $users[$i]. PHP_EOL;
}

?>

for文の条件判定処理に関数を呼び出すようなコードはやめましょう

上記のコードをコピペして下記のサイトで実際にPHPコードを実行してみましょう
本サイトでは、基礎的な学習は開発環境を構築しないで、webで実行します。
コピペで動作したら、今度は自分で実際にコードをトレースしてコーディングしてみましょう
効率的にプログラムを学習するなら必ず、手打ちすることです。
打つことで、アウトプットして覚えていきます。

ブラウザでプログラミング・実行ができる「オンライン実行環境」| paiza.IO
paiza.IOはオンラインですぐにプログラミングが始められる、オンライン実行環境です。Java,Ruby,Python,PHP,Perlなど主要24言語に対応。プログラミング学習にも。
タイトルとURLをコピーしました