Php 如何使用双引号访问数组键

Php 如何使用双引号访问数组键,php,arrays,csv,Php,Arrays,Csv,我正在尝试使用php解析csv文件 $csv = array_map("str_getcsv", file("upload/" . $newfilename,FILE_SKIP_EMPTY_LINES)); $keys = array_shift($csv); foreach ($csv as $i=>$row) { $csv[$i] = array_combine($keys, $row); } foreach ($csv as $row) { echo $row["Due

我正在尝试使用php解析csv文件

$csv = array_map("str_getcsv", file("upload/" . 
$newfilename,FILE_SKIP_EMPTY_LINES));
$keys = array_shift($csv);

foreach ($csv as $i=>$row) {
  $csv[$i] = array_combine($keys, $row);
}

foreach ($csv as $row) {
  echo $row["Due"];
}

var_dump($csv);
但是当我查看数组的转储时,Due数组键有双引号

array(20) { [0]=> array(10) { [""Due""]=> string(8) "30/06/17"
csv文件的引号中没有'Due',我不确定额外的引号来自何处,所有其余的键都是正常的

我尝试了以下方法,只是想让它发挥作用

echo $csv['Due'];
echo $csv['"Due"'];
echo $csv["\"Due\""];
echo $csv["Due"];
但都不管用

一堆钥匙看起来像

array(10) { [0]=> string(8) ""Due"" [1]=> string(5) "Round" [2]=> string(4) "Jobs" [3]=> string(3) "New" [4]=> string(7) "Overdue" [5]=> string(8) "Due Jobs" [6]=> string(9) "Worksheet" [7]=> string(9) "Avg Price" [8]=> string(6) "Weekly" [9]=> string(7) "Monthly" }
CSV文件的顶行如下所示

"Due","Round","Jobs","New","Overdue","Due Jobs","Worksheet","Avg Price","Weekly","Monthly"

我通过打开CSV文件并重新做引号解决了问题”

我检查了我删除并替换为的引号的ASCII值,它们完全相同

我用php解决了这个问题,用字符串替换删除了所有引号“


我仍然不确定是什么导致了这种情况,因为当我转储$keys变量时,它没有显示引号

什么是
var\u dump($keys)外观?注意,
echo$csv[“到期”]行不会影响存储在
$csv
中的内容。请使用
$csv[0]
而不是
$csv
重试。您已经获得了一个多维数组。或者使用
$row
@rtfm在您的
foreach($csv as$row)
循环中进行测试。我已经用$keys更新了问题。您提供了所有内容,但没有提供导致情况发生的实际数据的示例。
$keys[0] = str_replace('"', "", $keys[0]);