fgetcsv
関数を使用して配列としてcsvからデータを取得しています。配列を文字列に変換したいので、implode
関数を使用しました。fgetcsv二重引用符で囲んだ文字列に変換
CODE:私は結果の文字列を取得しています
if (($handle = fopen("storelocations.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$datafinal = implode(",",$data);
echo $datafinal;
}
fclose($handle);
}
はTer Aar, Netherlands,4.7159509,52.164688,,211316
と言います。 しかし、私は各エントリを二重引用符で囲んでおきたいと思います。どうやってやるの?私は渡された
- ` "テルアール"、 "オランダ"、 "4.7159509"、 "52.164688"、 ""、 "211316"
私のアプローチ#1:
期待される結果エンクロージャーとして"
がdocumentationに続いていますが、動作していません。
if (($handle = fopen("../storelocations.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",", '"')) !== FALSE) {
$datafinal = implode(",",$data);
echo $datafinal;
}
fclose($handle);
}
私のアプローチ#2から
function convert($str) {
return '"'.$str.'"';
}
if (($handle = fopen("../storelocations.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",", '"')) !== FALSE) {
//$datafinal = array_map(convert, $data);
$datafinal = implode(",",$data);
echo $datafinal;
//var_dump($data);
}
fclose($handle);
}
これは"Ter Aar", "Netherlands","4.7159509","52.164688","","""211316"
として文字列を返します。
空白のデータに続く項目がわかるように、最初は3つの引用符が付いています。
感謝をcsvファイルを読み込み、多次元配列としてデータを取得するために、次のコードを試してみてくださいするのに役立ちます。 –