Foreach内部多维数组

时间:2018-12-14 09:25:25

标签: php arrays

我必须制作一个以这种方式工作的csv文件:

Row 1 --> Text Data 
Row 2 --> Person Information
Row 3 --> Products information 

Row1和Row2已经完成,我正确地编写了代码。

Row3 是一个问题,因为需要给我每个产品的行以及所有数据。

我该如何编写代码? 现在我写了这个,但是row3是空的。

$list = array (
    array ('Order id', 'Billing Name' , 'Product Title', 'Total Price' ),
    array ($order->id, $order->firstname, '', ''),   
    $listProd = array(),
  );

  $listProd = array();
  foreach ($order->products as $product) {
    $listProd = array (
        $order->id,
        '',
        $product->title,
        $cart->renderPriceAndCurrency($product->pad_price),
    );
  }

  $local_file = fopen('php://temp', 'r+');
    foreach ($list as $row) {
      fputcsv($local_file, $row);
  }

  rewind($local_file);

谢谢。

1 个答案:

答案 0 :(得分:1)

$list = array (
    array ('Order id', 'Billing Name' , 'Product Title', 'Total Price' ),
    array ($order->id, $order->firstname, '', ''),   
    $listProd = array(), // this does __nothing__ except adding empty array to `$list`
);

替换为:

$list = array (
    array ('Order id', 'Billing Name' , 'Product Title', 'Total Price' ),
    array ($order->id, $order->firstname, '', ''),   
);
foreach ($order->products as $product) {
    $list[] = array (
        $order->id,
        '',
        $product->title,
        $cart->renderPriceAndCurrency($product->pad_price),
    );
}

在这里,您将每个产品项添加到$list数组的末尾。