※動作確認はしておりますが、参考にされる場合は自己責任でお願いします。

 

while, do-whileなど他にもありますが、ここでは for(公式)を使った場合そして foreach(公式)を使った場合のサンプルです。

 

<?php
$file = fopen("test.csv", "r");

$line = fgetcsv($file);

for($i = 0; $i < 25; $i++){
    echo "$line[$i]A<br>";
}
echo '<hr>';
foreach($line as $value){
    echo"$value","B<br>";
}
unset($value);

fclose($file);
?>

test.csvの中身は

歩兵,バズーカ兵,偵察車,軽戦車,重戦車,新型戦車,グレートタンク,輸送車,自走砲,ロケット砲,対空戦車,対空ミサイル,パイプランナー,戦闘機,爆撃機,戦闘ヘリ,輸送ヘリ,ステルス,ブラックボム,戦艦,護衛艦,輸送船,潜水艦,ブラックボート,空母

です。

 

実行すると

歩兵A
バズーカ兵A
偵察車A
・・・
ブラックボートA
空母A


歩兵B
バズーカ兵B
偵察車B
・・・
ブラックボートB
空母B

です。つまり、このサンプルでは for でも foreach でも同じ結果です。

 

ちなみに

forはデータの個数がわかっている場合に使えます。

一方

foreachはデータの個数が不明の場合でも使えますが、配列のみに使えます。


備考

配列の中で要素を変更する場合、$value の前に & を付加。詳しくは公式

<?php
$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
    $value = $value * 2;
}
// $arr は array(2, 4, 6, 8) となります
unset($value); // 最後の要素への参照を解除します
?>

 

ループを終了(途中で停止)させる場合は break を使用します。

 

公式サイトへ

fopen

fgetcsv

fclose

 

参考にさせて頂いたサイト様

https://techacademy.jp/magazine/12298

 

PHPメニューへ戻る

 



ȥåץڡ