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

PHP如何读取分号分隔的CSV文件并将首行作为列名生成关联数组

解决方案

你当前代码使用str_getcsv默认的逗号作为字段分隔符,仅需修改array_map的回调逻辑,给str_getcsv显式指定分号作为分隔符即可,修改后的完整代码如下:

// 改动点:自定义回调给str_getcsv指定分号分隔符
$csv = array_map(function($line) {
    return str_getcsv($line, ';');
}, file("activeproducts_per_customer.csv", FILE_SKIP_EMPTY_LINES));
$keys = array_shift($csv);

// 后续逻辑保持不变
foreach ($csv as $i => $row) {
    $csv[$i] = array_combine($keys, $row);
}

// echo "<pre>";
// print_r($csv);
// echo "</pre>";
return $csv;

补充说明

  • 如果你的CSV文件用了非默认的字段包裹符(默认是双引号")、转义符,可以按需给str_getcsv传第三、第四个参数调整,语法为str_getcsv(字符串, 分隔符, 包裹符, 转义符)
  • 大文件读取场景建议换用fgetcsv逐行读取,避免一次性加载整个文件到内存导致溢出

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 11:18:02