【发布时间】:2018-11-28 08:04:55
【问题描述】:
变量 $list 存储一个数组,如下所示。 我需要将数组传递给 CSV 或 XLS 并发送标题以下载文件。
print_r($list) 显示以下内容:
Array
(
[0] => Array
(
[warehouse] => Array
(
[warehouseName] => Warehouse Europe
[warehouseType] => en detail
)
[products] => Array
(
[0] => Array
(
[productName] => APPAREL SHIRTS
[productCode] => 54059761696
[measuringUnit] => buc
[quantity] => 1
)
[1] => Array
(
[productName] => T-SHIRTS - SADAL
[productCode] => 54059764755
[measuringUnit] => buc
[quantity] => 0
)
........... more data ............
[5315] => Array
(
[productName] => Ski - COLBECK
[productCode] => 54080519051
[measuringUnit] => buc
[quantity] => 3
)
)
)
[1] => Array
(
[warehouse] => Array
(
[warehouseName] => Warehouse US
[warehouseType] => en detail
)
[products] => Array
(
[0] => Array
(
[productName] => T-SHIRTS - SHEW
[productCode] => 40059763901
[measuringUnit] => buc
[quantity] => 5
)
[1] => Array
(
[productName] => SHOESSHOES - OPTIMA
[productCode] => 45063556796
[measuringUnit] => buc
[quantity] => 2
)
........... more data ............
[3178] => Array
(
[productName] => Ski - CASTINE
[productCode] => 40080490213
[measuringUnit] => buc
[quantity] => 1
)
)
)
)
CSV 在 excel 中如下所示:example 我尝试了几次,但我无法处理它。我认为 foreach 函数和 fputcsv 应该可以解决问题。
///// 稍后编辑 /////
这解决了,谢谢!
foreach($list as $item){
foreach($item['products'] as $product){
$wName = $item['warehouse']['warehouseName'];
$wType = $item['warehouse']['warehouseType'];
$pr =implode(',',$product);
printf("%s,%s,%s".PHP_EOL,$wName,$wType,$pr);
}
}
【问题讨论】:
-
我尝试了好几次,你能分享一下最接近你想要实现的尝试吗?!
-
嗨,阿里的回答成功了。我正在尝试类似的东西,但只能获取仓库名称和类型。