laravel - 查找错误 array_combine(): Both parameters should have a equal number of elements
问题描述
我正在将 CSV 文件导入 Laravel 控制器并将数据插入两个表中,但出现错误-
array_combine() 两个参数应该有相同数量的元素
function csvToArray ($filename = '', $delimiter = ',')
{
If (! file_exists ($filename) ||!is_readable($filename))
return false;
$header = null;
$data = array ();
if (($handle = fopen ($filename,'r')) !== false)
{
while (($row = fgetcsv($handle, 300000, $delimiter)) !== false)
{
if (!$header)
$header = $row;
else
$data[] = array_combine($header, $row);
}
fclose($handle);
}
return $data;
}
public function importCsv()
{
$file = public_path('file/city_master.csv');
$customerArr_data = $this->csvToArray($file);
for ($i = 0; $i < count($customerArr_data); $i++)
{
dd($customerArr_data);
}
return 'not in array';
}
解决方案
请尝试array_merge()
改用。希望这可以帮助
推荐阅读
- c# - C# WCF GetWebRequest:如何在标头中设置属性
- firebase - 为什么我的 redux 操作没有正确触发?
- java - 是否可以从preparedStatement 获得完整的请求?
- angularjs - Angularjs在单个请求中上传多个文件
- c# - MenuItem 可见性基于子菜单项状态
- machine-learning - 在分类问题中,当类不平衡时,为什么 F1-score 比准确率更合适?
- javascript - 从视频标签中分离控件
- azure-resource-manager - 使用 ARM 模板有条件地添加站点属性
- python - 在google colab中将文件从一个目录复制到另一个目录
- matplotlib - matplotlib.animation 可以在将帧保存到文件时显示帧吗?