我今天遇到了一个奇怪的问题。这是我的数组的var转储
这是我的代码
var_dump($file_line);
var_dump($file_line['Name']);
虽然数组中有元素" Name"并且这个元素有值,var_dump元素给出NULL
我不明白发生了什么。有人可以帮忙吗? 要重现此问题,您需要拥有此csv行
姓名,电子邮件,财务状况,已付款,履行状态,已完成,接受营销,货币,小计,运费,税金,总计,折扣代码,折扣金额,运输方式,创建时间,Lineitem数量,Lineitem名称, Lineitem价格,Lineitem比较价格,Lineitem sku,Lineitem需要运费,Lineitem taxable,Lineitem履行状态,Billing Name,Billing Street,Billing Address1,Billing Address2,Billing Company,Billing City,Billing Zip,Billing Province,Billing Country,Billing电话,送货名称,送货街,送货地址1,送货地址2,送货公司,送货城市,送货邮编,送货省份,送货国家,送货电话,备注,备注属性,取消,付款方式,付款参考,退款金额,供应商,未结余额,员工,位置,设备ID,ID,标签,风险等级,来源,Lineitem折扣,税1名称,税1值,税2名称,税2值,税3名称,税3值,税4名称,税4价值,税5名称,税5价值,电话
ughh12551,测试,退款,2017年11月20日11:15,未实现,不,美元,36.99,2.99,0,39.98,0,统一费率,11 / 20/2017 11:15,1,杰西卡咖喱 - '所以让我们融化:官方电影配乐' [(Blue& Orange)Vinyl LP],36.99,0,BSR025LP,TRUE,TRUE,待定,Molly Vu,2933 Fairmont Street,2933 Fairmont Street ,,, Falls Church,' 22042,VA,US ,, Molly Vu,2933 Fairmont Street,2933 Fairmont Street ,,, Falls Church,' 22042,VA,US ,, 11 / 20/17:无视客户的要求。,11/20/2017 11 :39,PayPal Payflow Pro,c165457068047.1,39.98,Black Screen Records,0 ,,,, 1.04859E + 11 ,, Low,web,0 ,,,,,,,,,,,
然后我的完整代码是
$header = NULL;
$data = array();
$files = array(
'orders_export_2.csv',
);
foreach ($files as $file) {
if (($handle = fopen(dirname(__FILE__) . '/ughh/' . $file, 'r')) !== FALSE)
{
while (($row = fgetcsv($handle, 0, ",")) !== FALSE) {
if (!$header) {
$header = $row;
} else {
$data[] = array_combine($header, $row);
}
}
fclose($handle);
}
}
foreach ($data as $key => $file_line) {
var_dump($file_line);
print_r($file_line);
var_dump($file_line['Name']);
}