我想将 CSV 转换为 Json,使用标题行作为键,每一行作为对象。我该怎么做?
--------------------------------CSV------------ ----------------------
InvKey,DocNum,CardCode
11704,1611704,BENV1072
11703,1611703,BENV1073
--------------------------------PHP------------ ------------------------
if (($handle = fopen('upload/BEN-new.csv'. '', "r")) !== FALSE) {
while (($row_array = fgetcsv($handle, 1024, ","))) {
while ($val != '') {
foreach ($row_array as $key => $val) {
$row_array[] = $val;
}
}
$complete[] = $row_array;
}
fclose($handle);
}
echo json_encode($complete);
最佳答案
只需单独读取第一行并将其合并到每一行:
if (($handle = fopen('upload/BEN-new.csv', 'r')) === false) {
die('Error opening file');
}
$headers = fgetcsv($handle, 1024, ',');
$complete = array();
while ($row = fgetcsv($handle, 1024, ',')) {
$complete[] = array_combine($headers, $row);
}
fclose($handle);
echo json_encode($complete);
关于php - 以标题行为键的 CSV 到 Json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10712840/