Concatenate Array for Human Reading

function concatenate($elements, $delimiter = ', ', $finalDelimiter = ' and ') {
       $lastElement = array_pop($elements);
       return join($delimiter, $elements) . $finalDelimiter . $lastElement;


$array = array('John', 'Mary', 'Ishmal');
echo concatenate($array);
// outputs "John, Mary and Ishmal"

Provide second parameter, a string, for a delimiter other than a comma.


  1. dai
    Permalink to comment#

    Thanks, this solution is better than my complicated loop hack.

  2. Shez
    Permalink to comment#

    why not just use implode? implode(“delimiter”, array); :s

Leave a Comment

Posting Code

We highly encourage you to post problematic HTML/CSS/JavaScript over on CodePen and include the link in your post. It's much easier to see, understand, and help with when you do that.

Markdown is supported, so you can write inline code like `<div>this</div>` or multiline blocks of code in triple backtick fences like this:

  function example() {
    element.innerHTML = "<div>code</div>";

We have a pretty good* newsletter.