0

我正在获取 CSV 文件的内容并显示(它有效)。

if (($handle = fopen($url, 'r')) === false) {
    die('Error opening file');
}


$headers = fgetcsv($handle, 1024, ',');
$complete = array();
while ($row = fgetcsv($handle, 1024, ',')) {
    $complete[] = array_combine($headers, $row);
}
fclose($handle);

但是,在此 CSV 文件中有一个字段,其内容例如如下:

"123456,123456,123456,123456"

认为我的代码由于双引号而没有处理,我想我需要转换为单引号。如果是这样的话,我将如何整合以下内容(我在想类似的东西):

str_replace('"',"'", $url);
4

1 回答 1

2

查看fgetcsv()的其他参数

默认情况下,附件字符设置为“,这意味着引号之间的任何内容都应视为单个值。将该参数替换为您在 csv 中实际用作附件字符的参数,它将起作用。

类似的东西(如果你的外壳字符是'):

while ($row = fgetcsv($handle, 1024, ',', "'")) {

总比读错然后尝试用 str_replace 修复它要好。

于 2013-06-09T11:10:33.470 回答