The implode
function in PHP appeared to solve a common need—joining array elements into a single string. It helps format data clearly when you need to output lists, build queries, or store combined values.
Table of Content
Understand the implode()
Function in PHP
The implode()
function joins items in an array into one string. It adds a separator between each item.
Here is the syntax:
implode(string $separator, array $array)
You can also swap the order:
implode(array $array)
However, using the separator first is the standard way.
$separator
: the string to place between items. It can be empty.$array
: the array with values to join.
implode()
returns one string with all array items joined by the separator.
Here is a quick example:
$colors = ['red', 'green', 'blue'];
echo implode(', ', $colors); // red, green, blue
This joins the array with a comma and space. It outputs a readable list.
Use cases:
- Converting an array to a comma-separated string
- Generating SQL
IN
clause strings - Building HTML class attributes from arrays
- Converting tags or keywords to a string for display
- Exporting array data to CSV for
Examples of PHP implode Function
Using different delimiters (comma, space, dash):
$items = ['apple', 'banana', 'cherry'];
echo implode(' - ', $items); // apple - banana - cherry
This adds a dash and space between each fruit. The output is one readable string. It works the same with any symbol.
Imploding numeric arrays:
$numbers = [10, 20, 30];
echo implode(', ', $numbers); // 10, 20, 30
The function joins numbers in the same way as strings. PHP converts each value into a string. You get one line of comma-separated values.
Imploding associative arrays (and common mistake):
$data = ['a' => 1, 'b' => 2];
echo implode(', ', $data); // 1, 2
It ignores keys and joins only the values. Many expect it to keep the keys, but implode()
only uses the values.
Using implode() with an empty delimiter:
$chars = ['P', 'H', 'P'];
echo implode('', $chars); // PHP
No space or symbol goes between the items. The function sticks everything together. It works well for short codes or initials.
Imploding nested arrays (with recursion):
function flatten_and_implode($array) {
$flat = [];
foreach ($array as $item) {
if (is_array($item)) {
$flat[] = flatten_and_implode($item);
} else {
$flat[] = $item;
}
}
return implode(', ', $flat);
}
echo flatten_and_implode([1, [2, 3], 4]); // 1, 2, 3, 4
It breaks nested arrays into one flat list. Each inner array gets processed first. The final result becomes one string.
Using array_map before implode() to format elements
$prices = [10, 20, 30];
$formatted = array_map(fn($n) => "$" . $n, $prices);
echo implode(', ', $formatted); // $10, $20, $30
This adds a dollar sign before each number. array_map()
updates each item first. implode()
then joins them into one string.
Handling null or empty values in arrays
$items = ['one', null, '', 'four'];
$cleaned = array_filter($items, fn($v) => $v !== null && $v !== '');
echo implode(', ', $cleaned); // one, four
You filter out null and empty strings before joining. array_filter()
keeps valid items. The result avoids blanks in the output.
Wrapping Up
In this article, you learned how to use the implode() function in PHP to join array values into a string.
Here is a quick recap:
implode()
joins array items into one string.- You can use any symbol as the separator.
- It works with both strings and numbers.
- It skips keys in associative arrays.
- You can nest, filter, or format values before joining.