如何使用 fgetcsv 用双引号括起一个字段

How do I enclose a field with double quotes, using fgetcsv

我有这个 csv:

1629311007-1407,[{""cats"":""Cat1""},{""cats"":""Cat2""}]",[],title

<?php 
header('Content-Type: text/html; charset=UTF-8');
$local_file = 'data.csv';
echo count(file($local_file)).' itens';

$fileHandle = fopen($local_file, "r");

while (($row = fgetcsv($fileHandle, 0, ',')) !== FALSE) {

  echo $row[0].'<br>';
  echo $row[1].'<br>';
  echo $row[2].'<br>';
 

}
?>

输出必须是:

1629311007-1407
[{""cats"":""Cat1""},{""cats"":""Cat2""}]
title

但是结果是这样的

1629311007-1407
"[{""cats"":""Cat1""}
{""cats"":""Cat2""}]"

我该如何调整?

($fileHandle,0,',','"');

fgetcsv 中添加第四个参数,它不会断开双引号之间字符串之间的逗号。因此双引号之间的逗号将被忽略并被视为 1 个字段。