如何使用PHP将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

我有一个包含以下内容的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,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";
}