我想用我的CSV文件创建一个JSON文件。
但是我的函数array_combine出错了。 我该怎么办呢?
以下是代码:
function csvtojson($file,$delimiter)
{
if (($handle = fopen($file, "r")) === false)
{
die("can't open the file.");
}
$csv_headers = fgetcsv($handle, 4000, $delimiter);
$csv_json = array();
while ($row = fgetcsv($handle, 4000, $delimiter))
{
$csv_json[] = array_combine($csv_headers, $row);
}
fclose($handle);
return json_encode($csv_json);}
以下是错误:
警告:array_combine():两个参数的编号应相等 /var/www/inae-obs/app/controllers/csvToJson.php中的元素在线 15
答案 0 :(得分:0)
您可以使用自定义array_combine
方法来解决此问题:
<?php
function array_combine_custom($keys, $values){
$combined = [];
$keys_values = array_values($keys);
$values_values = array_values($keys);
foreach($keys_values as $index => $key){
$combined[$key] = isset($values_values[$index]) ? $values_values[$index] : null;
}
return $combined;
}
如果按键和值按顺序,您可以忽略其余部分。