CSV文字列を分割したい。文字列は次のようになります。
"val1"、 "val2"、 "val3、その他のもの"、 "val4"
ご覧のとおり、値の中にコンマが含まれている可能性があるため(val3を参照)、コンマでexplodeを使用しても機能しません。
私も試しました:
preg_split('/","/', $myLine)
これは機能しませんが、それ以外の場合はどうすればよいですか?
ご協力いただきありがとうございます :)
データがファイルにある場合は、組み込みのfgetcsvを使用できます。
データが文字列の場合はstr_getcsv
PHP関数のCSVファイルの場合:fgetcsv
3番目のパラメーターでは、デフォルトでdelimetrを設定できます-"、"(コンマ)
関数はすべての行を読み取り、現在の行の要素を含む配列を返します
例:
$f = fopen('file.csv', 'r+');
while (($data = fgetcsv($f, 1000, ",")) !== FALSE) {
/* $data is array with elements for current line */
}
fclose($f);
$inputfiledelimiter="~";
if (($handle = fopen($target_path, "r")) !== FALSE)
{
while (($data = fgetcsv($handle, 0, $inputfiledelimiter)) !== FALSE)
{
}
}