PHPの二重ループを徹底解説!効率的なfor文の使い方

あけお

スクールに多額のお金を支払う前に、僕の記事で学習してね!

目次

こんな人に読んでほしい

  1. 「for文を使った二重ループ」について説明ができない人
  2. プログラミング学び始めたけど、基礎をしっかり学びたい人
  3. エンジニア転職をしたい人

書き方

for (初期値; 条件式; 増減式) {

   for (初期値; 条件式; 増減式) {

      処理をここに書く

   }

}

サンプルコード上に出てくるvar_dumpの使い方はこちらの記事を参考にしてください!

https://akeoblog.com/vardump/

サンプルコードで学ぼう!

サンプルコード①

PHP
<?php

for ($i = 0; $i < 3; $i++) {
    
    var_dump("ここは二重ループの外側です。");
    
    for ($j = 0; $j < 3; $j++) {
        
        var_dump("こんにちは!");
        
    }
    
}

このコードの実行結果はこちら

PHP
string(42) "ここは二重ループの外側です。"
string(18) "こんにちは!"
string(18) "こんにちは!"
string(18) "こんにちは!"
string(42) "ここは二重ループの外側です。"
string(18) "こんにちは!"
string(18) "こんにちは!"
string(18) "こんにちは!"
string(42) "ここは二重ループの外側です。"
string(18) "こんにちは!"
string(18) "こんにちは!"
string(18) "こんにちは!"

外側のfor文は「$i」(アイ)
内側のfor文は「$j」(ジェイ)

を使っています!同じ変数だとうまくいかないので要注意です!!!

サンプルコード②

PHP
<?php
$sports = ["野球", "サッカー", "バスケ"];
$season = ["春", "夏", "秋", "冬"];

for ($i = 0; $i < 3; $i++) {
    
    var_dump($sports[$i]);
    
    for ($j = 0; $j < 4; $j++) {
        
        var_dump($season[$j]);
        
    }
    
}

このコードの実行結果はこちら

PHP
string(6) "野球"
string(3) "春"
string(3) "夏"
string(3) "秋"
string(3) "冬"
string(12) "サッカー"
string(3) "春"
string(3) "夏"
string(3) "秋"
string(3) "冬"
string(9) "バスケ"
string(3) "春"
string(3) "夏"
string(3) "秋"
string(3) "冬"

$iと$jをうまく使ってこんなこともできます

サンプルコード③

PHP
<?php
$price = [250, 500, 1000];
$quantity = [1, 3, 5];

$totalPrice = 0;
for ($i = 0; $i < 3; $i++) {
    
    for ($j = 0; $j < 3; $j++) {
        
        $totalPrice += $price[$i] * $quantity[$j];
        
    }
    
}
var_dump($totalPrice);

このコードの実行結果はこちら

PHP
int(15750)

二重ループを使って下記の計算をしています

1週目
250 * 1
250 * 3
250 * 5

2週目
500 * 1
500 * 3
500 * 5

3週目
1000 * 1
1000 * 3
1000 * 5

まとめ

for文を使った二重ループについて、ざっくりでも理解できたら幸いです。
これからも一緒に頑張りましょう!!

あけお

あなたの挑戦を応援しています!!

よかったらシェアしてね!
目次