2 回答

TA贡献1853条经验 获得超18个赞
在您读取文件时处理它可能会更好,使用fopen()并且fgetcsv()您可以只提取您想要的项目到结果而不是全部存储。
$CSV_url = '../fichier-csv/commande.csv';
$fh = fopen($CSV_url, "r");
$csv = [ "data" => [] ];
fgets($fh); // Ignore header
while ( $row = fgetcsv($fh) ) {
$csv["data"][] = [$row[0], $row[8], $row[9], $row[12]];
}
fclose($fh);
$jsonData = json_encode($csv);

TA贡献1806条经验 获得超5个赞
您可以array_map再次使用以仅选择每行中所需的列:
$csv["data"] = array_map(fn($row) => [$row[0], $row[8], $row[9], $row[12]], $csv["data"]);
如果您还没有使用 PHP 7.4,则需要使用传统语法而不是箭头函数:
$csv["data"] = array_map(function(row) {
return [$row[0], $row[8], $row[9], $row[12]];
}, $csv["data"];
- 2 回答
- 0 关注
- 133 浏览
添加回答
举报