我想将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);