• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPでcsvファイルを読みチェックを行う)

PHPでCSVファイルを読みチェックする方法

このQ&Aのポイント
  • PHPの初心者でも簡単にCSVファイルを一行ずつ読み込み、条件を判定する方法について紹介します。ガンマの数やガンマ区切りのカウント数を判断基準として使用し、条件を満たした行のみ表示する機能を実装することが目標です。
  • CSVファイルを読み込む際には、split関数を使用して各行を配列に分割することができます。それぞれの行に対して、ガンマの数やガンマ区切りのカウント数を調べることで、条件を判定することができます。
  • 現在、CSVファイルを読み込み、全ての行を出力することはできていますが、条件に基づいて表示する機能は実装できていません。split関数を使用してガンマの数やガンマ区切りのカウント数を数える方法についても苦労しています。詳しい方がいらっしゃいましたら、教えていただきたいです。

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

  • ベストアンサー
回答No.1

> またsplitを使って > その数を数えようと思ったんですがなかなかうまくいきません。 具体的にはどのようなことを行ったのでしょうか。 既に試されているかもしれませんが次のように count()を使ってみてはいかがでしょうか。 count()で配列の要素数を取得できます。 split()やexplode()などで配列化した後で その配列に対してcount()をすれば目的の数が 取得できます。 $data = file(CSVファイル); for($i = 0; $i < count($data); $i++) { $record = explode("," $data[$i]); // 「,」数が○○より少ないとき if(○○ > count($record)) { /* 少ないときの処理 */ continue; // 不要なら省く(スキップ処理) // 「,」数が○○より多いとき } else if(○○ < count($record)) { /* 多いときの処理 */ continue; // 不要なら省く(スキップ処理) } /* 表示処理(目的の数) */ }

roba1234
質問者

お礼

なるほど!よいヒントになりました。 私もcount()を使って’,’区切りの数を 数えるようにしたいところでしたが $cnt = count(split(",",$line)); ここでexplode()があるとは... これは一行ずつ対応できますよね... 本当にありがとうございます。 ご親切で詳しい説明ありがとうございます。

関連するQ&A