【发布时间】:2017-03-11 09:15:11
【问题描述】:
我有一个看起来有点像这样的数组
$cars = array
(
array("Name","Price","Hours"),
array("AMW",15,13),
array("Saab",5,2),
array("Cand Rover",17,15)
);
我正在尝试将此数组转换为 CSV 数据,以便将其写入文件。
我有一个函数,它将数组作为输入并将其转换为 CSV 格式。它看起来像这样:
function array_2_csv($array)
{
$csv = array();
foreach ($array as $item)
{
if (is_array($item))
{
$csv[] = array_2_csv($item);
$csv[]="\r\n";
}
else
{
$csv[] = $item;
}
}
return implode(',', $csv);
}
它可以工作,但行前会出现一个额外的逗号。我怎样才能删除它?
预期输出
Name,Price,Hours
AMW,15,13,
Saab,5,2,
Cand Rover,17,15
我得到的输出是:
Name,Price,Hours,
,AMW,15,13,
,Saab,5,2,
,Cand Rover,17,15,
完整代码
$cars = array
(
array("Name","Price","Hours"),
array("AMW",15,13),
array("Saab",5,2),
array("Cand Rover",17,15)
);
$csv_data = array_2_csv($cars);
echo $csv_data;
function array_2_csv($array)
{
$csv = array();
foreach ($array as $item)
{
if (is_array($item))
{
$csv[] = array_2_csv($item);
$csv[]="\r\n";
}
else
{
$csv[] = $item;
}
}
return implode(',', $csv);
}
【问题讨论】: