2

CSV ファイルがあり、fgetcsv を使用すると、各行を配列として喜んで生成できます。

パイプは構造と細胞分裂を示します。以下のコンマは入力の一部であり、保持する必要があるコンマです。

abc,456|5hs6|dfdsf,56
abc,456|5hs6|dfdsf,56
abc,456|5hs6|dfdsf,56
abc,456|5hs6|dfdsf,56

示されているようにデータでカンマが使用されることを考えると、パイプを使用して区切る方がよいでしょう。

Array(
[0] => abc,456|5hs6|dfdsf,56
[1] => abc,456|5hs6|dfdsf,56
[2] => abc,456|5hs6|dfdsf,56
[3] => abc,456|5hs6|dfdsf,56
)
4

2 に答える 2

4

CSV ファイルが後で配列に入れたいものと異なる場合、たとえば、CSV は次のようなものです。

"1","2","3","4","5","6"
"1","2","3","4","5","6"
…

または実際にそれを解析する必要があるその他のfgetcsvもの

$result = array();
while (($line = fgetscsv($handler) !== false) {
  $result[] = implode(',', $line);
}

あなたのCSVファイルに、後で配列に入れたいものがすでに含まれている場合、たとえば

1,2,3,4,5,6
1,2,3,4,5,6
…

次に、それをCSVとして解析する必要はありませんが(これは遅いです)、実行できます

$result = array();
while (($line = fgets($handler) !== false) {
  $result[] = $line;
}

または単に使用する$array = file('filename.csv')

違いは、a) csv-source,がセパレーターとして使用されることが暗黙的に想定されていることです。これは、ファイルに記載されているとおりにそれらを取得するためであり、b) エンクロージャーは削除されません (値を"を回避するために,csv 区切り文字として扱われます) が、ここでは便利なようです。

于 2011-06-29T09:22:52.913 に答える
3

これがあなたの望むものかどうかはわかりませんが、

$lines = file("filename.csv");

のすべての行を(文字列として)に入れfilename.csvます$lines

于 2011-06-29T09:24:30.113 に答える