item CSVデータをフィルタ指定で取得 csv_filter

technique ... PHP > オリジナルfunction

written 2006/6/10

PHPでログファイルを扱う場合(MySQL等を使わない場合)、データをcsv型にすることが多いとおもうのですが、PHP関数にはCSVをうまく扱えるものがほとんどありません。
下記のcsv_filterは、CSV型ログの特定の項目の値でフィルターをかけます。

function csv_filter($array,$kugiri,$index,$value) {
  //csv_filterはcsv型配列を、特定の値で抽出し、配列を返します。
  //$array:配列 $kugiri:区切り文字(",") $index:何番目の項目か
  //$value:抽出する値
        $ar = array();
        for ($i=0;$i<count($array);$i++){
                $line = explode($kugiri,trim($array[$i]));
                if ($line[$index] == $value) {
                       array_push($ar,$array[$i]);
                }
        }
        return $ar;
}

たとえば、

1,20040513,データっす
2,20040417,ほげほげっす
3,20040417,あちゃー

というcsvデータ$dataがあった場合、上記functionを使って

  $result = csv_filter($data,",",1,"20040417");

とやれば、csvデータの2番目の項目が「20040417」になっているものだけ抽出されて$resultに返ってきます。

このコンテンツに投票

■ この記事/文章が気に入りましたら、投票して下さい。

まあまあよいと思った
とてもよいと思った

4 point / 投票数 3 4point

feedbackによるコンテンツランキング
informationfeedback機能について

現在のカテゴリ : technique ... PHP > オリジナルfunction

1317377

* * *

Written by nt.

無断転載禁止
引用箇所や掲示板への投稿など一部を除いて、当サイト内のすべての 文章・楽曲・画像等は作者ntの著作物です。
▼Webページへのリンクはご自由にどうぞ。
http://www.signes.jp/technique/
WebMaster: nt - Contact | Information | TopPage

Copyright (c) 2002-2010 nt. All rights reserved.