I have an array which looks somewhat like this
$cars = array
(
array("Name","Price","Hours"),
array("AMW",15,13),
array("Saab",5,2),
array("Cand Rover",17,15)
);
And I'm trying to convert this array to CSV data so that I can write it into a file.
I have a function which takes an array as input and converts it into CSV format. It looks like this:
function array_2_csv($array)
{
$csv = array();
foreach ($array as $item)
{
if (is_array($item))
{
$csv[] = array_2_csv($item);
$csv[]="
";
}
else
{
$csv[] = $item;
}
}
return implode(',', $csv);
}
It works but an extra comma appears on front of lines. How can I remove that?
Expected Output
Name,Price,Hours
AMW,15,13,
Saab,5,2,
Cand Rover,17,15
Output I'm getting is:
Name,Price,Hours,
,AMW,15,13,
,Saab,5,2,
,Cand Rover,17,15,
Full Code
$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[]="
";
}
else
{
$csv[] = $item;
}
}
return implode(',', $csv);
}