• ベストアンサー

PHPでCSVファイルから行指定してループする方法

こんにちは。 PHPでループ処理をしているのですが、ふと疑問にあたりました。 CSVファイルをオープンしそれを一行づつ読み込みたいのです。 「次のページ」などのよくある方法のように30行あったら次のページをクリック。 次ページでは31行目から60行目までを表示、その繰り返しのようなループを考えています。 Perlの場合foreach(1 .. 30){} のように配列の始点終点の指定ができたとおもうのですが、PHPでもこのような処理は可能なのでしょうか? 恐れ入りますがご教授お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • jone
  • ベストアンサー率42% (6/14)
回答No.1

単純に配列内の任意の要素を取得したいのであれば、以下でいけるのでは? $target_data = array(); $target_data = データ取得//ロジックは省略 $target_data = array_slice($target_data, (int)オフセット[,(int)オフセットからの要素数]); 如何でしょう?

参考URL:
http://www.scollabo.com/banban/php/ref/ref_array_slice.html
titikun00
質問者

お礼

なるほど。array_sliceですね。 それならできるような気がしますね。 試してみます。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

つい最近、この板で同じような質問を見た気がします。 過去ログをみてから質問してください。 foreach (range(1, 30) as $number) { echo $number; } http://www.php.net/manual/ja/function.range.php

titikun00
質問者

お礼

返信ありがとうございます。 range(1,30)は1行目から30行目ということではなく、1という数値から30という数値までということではないのでしょうか? array(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100,) でいうなら0、10、30の3行しかとりだせないのでは? まちがっていたなら申し訳ないです。

関連するQ&A