0

これを達成するための効率的な方法は何ですか。

以下のデータを保持する変数があり、CSV ファイルに渡されます。

"Name","Address","Email","Comment"
", <=, ",", <=, ",", <=, ",", <=, "
"John Smith","USA","john@john.net","No Comment"

私が達成したいのは、データをCSVにプッシュする前に、それらの文字がすでに削除されるように、2行目を削除することです。

", <=, ",", <=, ",", <=, ",", <=, "

私が今できる唯一のことは、データをファイルに保存して操作し、それを CSV に使用することですが、より高速な操作方法があると確信しています。

4

2 に答える 2

1

あなたのラインはいつもそのように見えますか?ダゴンが示唆したように:

$yourdata = str_replace('", <=, ",", <=, ",", <=, ",", <=, "', '', $yourdata);

http://php.net/manual/en/function.str-replace.php

そのジャンクデータが常に1行おきにある場合は、データを変数に再構築して行ごとに読み取るときに、それをスキップするだけの方がはるかに効率的です。

于 2012-09-17T03:18:23.297 に答える
1

小さなフィルターを設定して、それらの行が検出されたときにそれらの行を自動的に破棄することができます。次のような単純なもの:

function filtered_fputcsv($fp, $fields) {
  if ($fields ...has relevant data...) {
    fputcsv($fp, $fields);
  }
}

標準のライター(または同様のバージョンの読み取り用)の代わりにこれを使用します。

于 2012-09-17T03:31:42.740 に答える