我从csv获取的数据作为使用fgetcsv
函数数组。我想将数组转换成字符串,所以我已经使用了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吨的报价。
感谢您的帮助。 –