After we discussed how to create a comma separated list in twig last week, this week I will show you how to do the same in plain PHP.
Simple Comma Separated List in PHP without trailing comma
The easiest way to get a String in PHP from the elements of an Array joined by some character is to use the implode function:
$my_array = array('string1', 'string2', 'string3');
$comma_separated_list = implode(", ", $my_array);
// $comma_separated_list now holds the value "string1, string2, string3" from the array $my_array
As you can see, implode takes an array and returns a string containing its elements separated by a character of your choice which in this example is a comma.
Join complex Strings with Comma in PHP
Lets say we want to create a list of links and this list should be separated by commas.
It is easiest to just create the list and then remove the trailing comma at the end:
$my_array = array('link1', 'link2', 'link3');
$output = '';
foreach ($my_array as $link) {
$output .= '<a href="' . $link . '">' . $link . '</a>' . ', ';
}
// remove last two characters (', '):
$output = substr($output, 0, strlen($output) - 2);
// $output now holds the value '<a href="link1">link1</a>, <a href="link2">link2</a>, <a href="link3">link3</a>'