CSVデータをフィルタ指定で取得 csv_filter
... 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に返ってきます。
現在のカテゴリ : ... PHP > オリジナルfunction