如何使用PHP将CSV解析为多维数组?
我有一个包含以下内容的CSV文件:如何使用PHP将CSV解析为多维数组?,php,arrays,csv,multidimensional-array,Php,Arrays,Csv,Multidimensional Array,我有一个包含以下内容的CSV文件: Date,Transaction details,Debit,Credit January 03 2014,POS transaction,"36,80", ,Card No: xxxx xxxx xxxx xxxx,, ,Terminal: AUCHAN ROMANIA SA RO CLUJ NAPOCA,, ,Date: 02-01-2014 AuthID: 382542,, January 03 2014,POS transaction,"116,6
Date,Transaction details,Debit,Credit
January 03 2014,POS transaction,"36,80",
,Card No: xxxx xxxx xxxx xxxx,,
,Terminal: AUCHAN ROMANIA SA RO CLUJ NAPOCA,,
,Date: 02-01-2014 AuthID: 382542,,
January 03 2014,POS transaction,"116,69",
,Card No: xxxx xxxx xxxx xxxx,,
,Terminal: AUCHAN ROMANIA SA RO CLUJ NAPOCA,,
,Date: 02-01-2014 AuthID: 374829,,
December 31 2013,Fees and taxes,"1,00",
,Monthly SMS alerts service fee: 1,,
我正在尝试创建如下数组:
Array
(
[0] => Array
(
[Date] => January 03 2014
[Transaction details] => POS transaction
[Debit] => 36,80
[Credit] =>
[Card No.] => Card No: xxxx xxxx xxxx 2113
[Notes] => Terminal: AUCHAN ROMANIA SA RO CLUJ NAPOCA
[Date and AuthID] => Date: 02-01-2014 AuthID: 382542
)
[1] => Array
(
[Date] => January 03 2014
[Transaction details] => POS Transaction
[Debit] => 116,69
[Credit] =>
[Card No.] => Card No: xxxx xxxx xxxx 2113
[Notes] => Terminal: AUCHAN ROMANIA SA RO CLUJ NAPOCA
[Date and AuthID] => Date: 02-01-2014 AuthID: 374829
)
[2] => Array
(
[Date] => January 03 2014
[Transaction details] => Fees and taxes
[Debit] => 1,00
[Credit] =>
[Card No.] =>
[Notes] => Monthly SMS alerts service fee
[Date and AuthID] =>
)
)
我对保留Notes字段特别感兴趣,因为我稍后将使用该字段对交易进行分类
谢谢你的帮助
编辑:我自己也知道如何将CSV解析到数组中,但我无法知道如何将一行或多行合并到数组中。也许我的问题描述得不够清楚
目前,这是正在返回的数组:
array(258) {
[0]=>
array(4) {
["Data"]=>
string(16) "January 03 2014"
["Detalii tranzactie"]=>
string(13) "POS transaction"
["Debit"]=>
string(5) "36,80"
["Credit"]=>
string(0) ""
}
[1]=>
array(4) {
["Data"]=>
string(0) ""
["Detalii tranzactie"]=>
string(29) "Nr. card: xxxx xxxx xxxx 2113"
["Debit"]=>
string(0) ""
["Credit"]=>
string(0) ""
}
[2]=>
array(4) {
["Data"]=>
string(0) ""
["Detalii tranzactie"]=>
string(44) "Terminal: AUCHAN ROMANIA SA RO CLUJ NAPOCA"
["Debit"]=>
string(0) ""
["Credit"]=>
string(0) ""
}
}
在将数据呈现为CSV文件的php文件中,使用
foreach
循环多维数组
比如说,您的数组被称为$csv\u array
。然后循环遍历此数组,如下所示:
foreach($csv_array as $csv_data1)
{
foreach($csv_data1 as $data)
{
echo "\"".$data."\"".",";
}
echo "\n";
}
这将正确呈现多维数组的数据
这是在csv文件中检索数据的基本思想,您可以根据尺寸使用数组进行测试。。请参阅注释。正如我在编辑中提到的:我自己也能弄清楚这一点,但我无法弄清楚如何将特定行合并到数组字段中。
foreach($csv_array as $csv_data1)
{
foreach($csv_data1 as $data)
{
echo "\"".$data."\"".",";
}
echo "\n";
}