PHP数组仅将一个结果返回CSV

时间:2016-09-19 19:40:53

标签: php csv

我对PHP比较陌生,所以请原谅我的无知,如果这很容易。

我从API调用中获取结果,其最终目标是将所有结果写入CSV文件,我能够使一切正常工作,除了它只将第一个数组写入CSV文件。我知道有更多的记录(数组),因为当我回显结果时,我通常得到10-15个结果。以下是我使用的代码。

foreach ($list as $order) { 
$listOrders = array (
    array($order->getBuyerName(), $address['AddressLine1'], $address['AddressLine2'], $address['AddressLine3'], $address['City'], $address['StateOrRegion'], $address['PostalCode'], $orderinfo->getSKU())
  ); 
}

$fp = fopen('order-file.csv', 'w');

foreach ($listOrders as $fields) {
  fputcsv($fp, $fields);
}

fclose($fp);

以下是一个结果的示例,但应该有大约10-15:

"TONYA","7X XX Avenue",,,"Spokane Valley",WA,99212,B123

1 个答案:

答案 0 :(得分:2)

您始终会在每个$listOrders周期覆盖foreach数组。要将元素添加到数组,请使用$listOrders[] = $var语法,因此它应该看起来像这样

$listOrders = array(); 
foreach ($list as $order) { 
    $listOrders[] = array($order->getBuyerName(), $address['AddressLine1'], $address['AddressLine2'], $address['AddressLine3'], $address['City'],   $address['StateOrRegion'], $address['PostalCode'], $orderinfo->getSKU()); 
}