【问题标题】:Write in complex array in CSV file using PHP使用 PHP 在 CSV 文件中写入复杂数组
【发布时间】:2017-09-27 09:46:38
【问题描述】:

我有以下格式的数组,每个数组都有多个子数组。这些所有的数组都存储在

$actionDescription = array(
                        'products' => $productData
                         ) 

我尝试了下面的代码,但没有成功

  foreach($actionDescription['products'] as $row){
         fputcsv($row);
   } 
 foreach($actionDescription['products'] as $row){
    print_r($row);
} 

正在打印行

 Array
 (
[name] => abc 
[price] => 17
[id] => 12
[sku] => BundleWSP
[currency] => INR
[brandname] => 
[categories] => Array
    (
        [0] => Array
            (
                [cat_id] => 2
                [cat_name] => Category
                [parent_cat_id] => 0
            )

        [1] => Array
            (
                [cat_id] => 2
                [cat_name] => Category
                [parent_cat_id] => 0
            )

        [2] => Array
            (
                [cat_id] => 2
                [cat_name] => Category
                [parent_cat_id] => 0
            )

        [3] => Array
            (
                [cat_id] => 3
                [cat_name] => PRODUCTS
                [parent_cat_id] => 2
            )

        [4] => Array
            (
                [cat_id] => 4
                [cat_name] => CAtegory5
                [parent_cat_id] => 3
            )

    )

 )
 Array
(
[name] => efgh
[price] => 7
[id] => 17
[sku] => jhdksi
[currency] => INR

[brandname] => 
[categories] => Array
    (
        [0] => Array
            (
                [cat_id] => 3
                [cat_name] => PRODUCTS
                [parent_cat_id] => 2
            )

        [1] => Array
            (
                [cat_id] => 1
                [cat_name] => Root Catalog
                [parent_cat_id] => 0
            )

        [2] => Array
            (
                [cat_id] => 1
                [cat_name] => Root Catalog
                [parent_cat_id] => 0
            )

        [3] => Array
            (
                [cat_id] => 2
                [cat_name] => Category
                [parent_cat_id] => 0
            )

        [4] => Array
            (
                [cat_id] => 2
                [cat_name] => Category
                [parent_cat_id] => 0
            )

        [5] => Array
            (
                [cat_id] => 4
                [cat_name] => PROTEIN SHAKES
                [parent_cat_id] => 3
            )

    )

 ) 

我想要下面给出的 CSV 格式的数组:

 name,price,id,sku,currency,cat_id,cat_name,parent_cat_id
 abc,   17, 12,Bundlewsp,INR,2,    Category,  0
                             2,    Category,  0
                             2,    Category,  0
                             3,    Products,  2

 efgh,  7,  17,jhdski,INR,   3,Products,2
                             1,root_catalog,0

有很多类别。

【问题讨论】:

  • 您好。你似乎在下面得到了答案,你是怎么做到的?

标签: php csv magento zend-framework


【解决方案1】:

试试这个:

$file = fopen("contacts.csv","w");
foreach($actionDescription['products'] as $row){
    $data = $row['name'].','.$row['price'].','.$row['id'].','.$row['sku'].','.$row['currency'].','.$row['brandname'].','.$row['categories'][0]['cat_id'].','.$row['categories'][0]['cat_name'].','.$row['categories'][0]['parent_cat_id'].'\n';
    fputcsv($file,$data);
    $count = 0;
    foreach($row['categories'] as $categories) {
        if($count > 1){
            $data = ',,,,,,'.$categories['cat_id'].','.$categories['cat_name'].','.$categories['parent_cat_id'];
            fputcsv($file,$data);
        }
        $count++;
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-21
    • 1970-01-01
    • 1970-01-01
    • 2016-01-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多