How can I easily remove the last comma from an array?

Alternatively you can use the rtrim function as:

$result = '';
foreach($array as $i=>$k) {
    $result .= $i.'-'.$k.',';
}
$result = rtrim($result,',');
echo $result;

I dislike all previous recipes.

Php is not C and has higher-level ways to deal with this particular problem.

I will begin from the point where you have an array like this:

$array = array('john-doe', 'foe-bar', 'oh-yeah');

You can build such an array from the initial one using a loop or array_map() function. Note that I'm using single-quoted strings. This is a micro-optimization if you don't have variable names that need to be substituted.

Now you need to generate a CSV string from this array, it can be done like this:

echo implode(',', $array);

One method is by using substr

$array = array("john" => "doe", "foe" => "bar", "oh" => "yeah");

$output = "";
foreach($array as $i=>$k)
{
    $output .= $i.'-'.$k.',';
}

$output = substr($output, 0, -1);

echo $output;

Another method would be using implode

$array = array("john" => "doe", "foe" => "bar", "oh" => "yeah");

$output = array();
foreach($array as $i=>$k)
{
    $output[] = $i.'-'.$k;
}

echo implode(',', $output);

Tags:

Php

Arrays

String