You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PHP从给定关联数组生成指定格式的CSV文件?

实现关联数组转指定格式CSV的方法

嘿,这个需求用PHP实现起来挺直接的,我给你捋清楚代码和逻辑:

首先先把你的原始数组明确出来,方便后续处理:

$inventory = [
    'sku1' => ['bin1' => 10, 'bin2' => 5, 'bin3' => 10],
    'sku2' => ['bin2' => 10, 'bin10' => 9],
    'sku3' => ['bin3' => 7]
];

接下来是核心处理逻辑,通过两层循环拆解数组,把每个SKU的仓位数据转成CSV的一行:

// 选择输出目标:如果要写入本地文件,替换成你的文件路径,比如 './inventory.csv'
$outputStream = fopen('php://output', 'w');

// 外层循环遍历每个SKU
foreach ($inventory as $sku => $binData) {
    // 内层循环遍历当前SKU下的所有仓位和对应数量
    foreach ($binData as $bin => $quantity) {
        // 用fputcsv写入一行,自动遵循CSV规范(处理特殊字符,比如值里的逗号、引号)
        fputcsv($outputStream, [$sku, $bin, $quantity]);
        
        // 如果你完全不需要CSV的引号包裹(和你给的示例格式完全一致),可以换成这行:
        // fwrite($outputStream, "$sku,$bin,$quantity\n");
    }
}

fclose($outputStream);

小补充:

  • fputcsv是PHP专门处理CSV的工具函数,能自动规避特殊字符对CSV结构的破坏,推荐优先使用;
  • 注意到你给的示例里sku1,bin2的数量写的是10,但原始数组里是5,代码会严格按照数组中的实际值输出,需要调整的话直接修改数组对应位置的数值就行。

内容的提问来源于stack exchange,提问作者Avinash Borse

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:21:14