我正在尝试使用 fputcsv 将 2 个数组写入 csv 文件。
但问题是在写入第二个数组时,它会转到文件的末尾并从那里开始。
所以基本上我有这两个部分要写在一个csv文件中,它以以下方式编写
ID Name1
1 AAA
2 BBB
Name2
CCC
DDD
我想要什么
ID Name1 Name2
1 AAA CCC
2 BBB DDD
我的代码是
fputcsv($fh, array("ID","Name1"));
while($row = mysqli_fetch_array($weekly1, MYSQLI_NUM))
{
fputcsv($fh, array($row[0],$row[1]));
}
fputcsv($fh, array("Name2"));
while($row = mysqli_fetch_array($weekly2, MYSQLI_NUM))
{
fputcsv($fh, array($row[1]));
}
有没有办法克服这个问题。非常欢迎任何帮助或建议。提前谢谢。
首先,您应该将ID
和NAME1
存储在数组中,并且只有在获得NAME2
保存到csv之后:
fputcsv($fh, array("ID","Name1","Name2"));
$rows = array();
while($row = mysqli_fetch_array($weekly1, MYSQLI_NUM))
{
$rows[] = array($row[0],$row[1]));
}
$i = 0;
while($row = mysqli_fetch_array($weekly2, MYSQLI_NUM))
{
fputcsv($fh, array_merge($rows[$i], array($row[1])));
$i++;
}