PHP初心者です。
アドバイスよろしくお願いします。
CSVデータ
20060802:1,AAA,少し
20060802:2,AAA,少し
20060802:3,AAA,少し
20060802:4,BBB,大きい
20060802:5,AAA,小さい
20060802:6,AAA,小さい
20060802:7,AAA,小さい
があるとき、
そのCSVデータを読み込んで
データの3列目を基準としてデータがいくつあるかを数えたい。
例えば
少し・・・・3
大きい・・・・1
小さい・・・・1
というふうに数えたい。
$filename = CSVデータファイル;
$fp = fopen("$filename", "r");
if($fp == false){
exit;
}
else {
for$i = 0; $i < sizeof($fp); $i++){
$line = explode(",", $fp[$i]);
// ここで
// $i[2]==AAA
// のとき、AAAの行数をカウントする処理をしたい。
}
}
No.2
- 回答日時:
なにがどううまくいかないのか解らないけど、構文が間違ってるからループが狂ってるだけなのじゃないの?
>for$i = 0; $i < sizeof($fp); $i++){
「(」が抜けてるから、ループになってない
たぶん、エラーが出てるはずだと思うけど?
>#1さんへ
>$cnt[$line[2]]++;
できるけど、初期化しておかないと、存在しない変数はインクリメントできないです。
ということで以下のようにやります。
if( array_key_exists($line[2], $cnt) ){
$cnt[$line[2]]++;
}else{
$cnt[$line[2]]=1;
}
No.1
- 回答日時:
基準データをキーとする連想配列を作って毎回1をカウントアップすればよいのではないでしょうか。
$cnt[$line[2]]++;
なんてできるのかしら?!
わたしも、PHPはあまり得意分野じゃないので…
この回答への補足
回答ありがとうございました。
if文を作ってみたのですがうまくいかないです・・
もう少し詳しくおねがいできますか?
よろしくお願いします。
$filename = CSVデータファイル;
$fp = fopen("$filename", "r");
if($fp == false){
exit;
}
else {
for$i = 0; $i < sizeof($fp); $i++){
$line = explode(",", $fp[$i]);
// ここで
// $line[2]==AAA
// のとき、AAAの行数をカウントする処理をしたい。
if (preg_match("/$aaa/", $AddressData[ $i ] )){
for($countA = 0;$countA < sizeof ($AddressData); $countA++ ) {
echo $countA . "<br>";
}
}
// 上でうまくいかない・・
}
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ¥マークを含むパスの処理について(マクロ、または関数) 2 2022/12/25 02:11
- Perl perl このテキストファイルを簡単に配列に入れるには? 2 2022/04/27 20:24
- JavaScript jsonテキストデータの並び替えができるサービスを教えてください 2 2022/08/05 20:16
- その他(Microsoft Office) パワークエリの複数ファイルのデータ統合について 3 2022/07/14 17:06
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- JavaScript JavaScript?jQuery?で書き方を教えてください。 初心者です。 AAAという要素をステ 2 2023/08/04 22:09
- Excel(エクセル) VBAで、シート間の転記するコードを教えてください。 4 2023/03/26 10:43
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Excel(エクセル) Excel VBA 3 2023/04/22 10:46
- JavaScript 指定したパスが現URLに含まれていたら特定要素を削除するJavascriptのコードを教えてください 2 2023/04/27 17:58
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
教えて下さい
-
配列でデータが入っている要素...
-
VBA 空白セルを削除ではない方...
-
【エクセル】測定時間がバラバ...
-
この行は既に別のテーブルに属...
-
ミラーデータとは?
-
VBA 該当データがない時 ...
-
エクセルで1次近似をもとめたい
-
メモ帳(テキストデータ)をExc...
-
[C言語] コメント文字列を無視...
-
VBAを使ってOutlookメール本文...
-
S9タイプからXタイプにデータ...
-
ウィンドウ枠の固定を行の2箇所...
-
GETはできるがPOSTができない、...
-
VBAでシートからコンボボックス...
-
マクロVBAについて
-
C#にてDropDownListの値を動的...
-
VBA 毎日取得するデータを順番...
-
ACCESSからEXCELに出力する際、...
-
レコードセットのデータを1行...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
教えて下さい
-
【エクセル】測定時間がバラバ...
-
配列でデータが入っている要素...
-
多量のSUMIF式を軽くしたい
-
エクセルで2つの時系列のデー...
-
Excelのマクロでワードのテキス...
-
メモ帳(テキストデータ)をExc...
-
VBA 空白セルを削除ではない方...
-
VBAを使ってOutlookメール本文...
-
Accessで該当データにフラグを...
-
合計3TBのデータのハッシュ値を...
-
シーケンサにパソコンからアク...
-
S9タイプからXタイプにデータ...
-
カンマからスラッシュに
-
VBAでシートからコンボボックス...
-
VBA 毎日取得するデータを順番...
-
ビットシフトについて
-
ユーザーフォームのテキストボ...
-
EXCELVBAでSQLserverからデータ...
-
特定のデータの抽出方法を教え...
おすすめ情報