implode

(PHP 4, PHP 5)

implodeJoin array elements with a string

Description

string implode ( string $glue , array $pieces )
string implode ( array $pieces )

Join array elements with a glue string.

Note:

implode() can, for historical reasons, accept its parameters in either order. For consistency with explode(), however, it may be less confusing to use the documented order of arguments.

Parameters

glue

Defaults to an empty string.

pieces

The array of strings to implode.

Return Values

Returns a string containing a string representation of all the array elements in the same order, with the glue string between each element.

Changelog

Version Description
4.3.0 The glue parameter became optional.

Examples

Example #1 implode() example

<?php

$array 
= array('lastname''email''phone');
$comma_separated implode(","$array);

echo 
$comma_separated// lastname,email,phone

// Empty string when using an empty array:
var_dump(implode('hello', array())); // string(0) ""

?>

Notes

Note: This function is binary-safe.

See Also

Коментарии

it should be noted that an array with one or no elements works fine. for example:

<?php
    $a1 
= array("1","2","3");
   
$a2 = array("a");
   
$a3 = array();
   
    echo 
"a1 is: '".implode("','",$a1)."'<br>";
    echo 
"a2 is: '".implode("','",$a2)."'<br>";
    echo 
"a3 is: '".implode("','",$a3)."'<br>";
?>

will produce:
===========
a1 is: '1','2','3'
a2 is: 'a'
a3 is: ''
2009-04-07 14:50:24
http://php5.kiev.ua/manual/ru/function.implode.html
If you want to implode an array of booleans, you will get a strange result:
<?php
var_dump
(implode('',array(truetruefalsefalsetrue)));
?>

Output:
string(3) "111"

TRUE became "1", FALSE became nothing.
2011-06-23 08:04:36
http://php5.kiev.ua/manual/ru/function.implode.html
Автор:
Even handier if you use the following:

<?php
$id_nums 
= array(1,6,12,18,24);

$id_nums implode(", "$id_nums);
               
$sqlquery "Select name,email,phone from usertable where user_id IN ($id_nums)";

// $sqlquery becomes "Select name,email,phone from usertable where user_id IN (1,6,12,18,24)"
?>

Be sure to escape/sanitize/use prepared statements if you get the ids from users.
2012-09-03 09:15:39
http://php5.kiev.ua/manual/ru/function.implode.html
Автор:
It may be worth noting that if you accidentally call implode on a string rather than an array, you do NOT get your string back, you get NULL:
<?php
var_dump
(implode(':''xxxxx'));
?>
returns
NULL

This threw me for a little while.
2013-02-26 17:56:31
http://php5.kiev.ua/manual/ru/function.implode.html
Can also be used for building tags or complex lists, like the following:

<?php

$elements 
= array('a''b''c');

echo 
"<ul><li>" implode("</li><li>"$elements) . "</li></ul>";

?>

This is just an example, you can create a lot more just finding the right glue! ;)
2013-03-18 16:21:09
http://php5.kiev.ua/manual/ru/function.implode.html
Автор:
null values are imploded too. You can use array_filter() to sort out null values.

<?php
$ar 
= array("hello"null"world");
print(
implode(','$ar)); // hello,,world
print(implode(','array_filter($ar, function($v){ return $v !== null; }))); // hello,world
?>
2015-07-20 14:55:18
http://php5.kiev.ua/manual/ru/function.implode.html
Автор:
It might be worthwhile noting that the array supplied to implode() can contain objects, provided the objects implement the __toString() method.

Example:
<?php

class Foo
{
    protected 
$title;

    public function 
__construct($title)
    {
       
$this->title $title;
    }

    public function 
__toString()
    {
        return 
$this->title;
    }
}

$array = [
    new 
Foo('foo'),
    new 
Foo('bar'),
    new 
Foo('qux')
];

echo 
implode('; '$array);
?>

will output:

foo; bar; qux
2016-09-30 12:39:50
http://php5.kiev.ua/manual/ru/function.implode.html
It's not obvious from the samples, if/how associative arrays are handled. The "implode" function acts on the array "values", disregarding any keys:

<?php
declare(strict_types=1);

$a = array( 'one','two','three' );
$b = array( '1st' => 'four''five''3rd' => 'six' );

echo 
implode','$a ),'/'implode','$b );
?>

outputs:
one,two,three/four,five,six
2018-11-23 23:43:44
http://php5.kiev.ua/manual/ru/function.implode.html
Автор:
If you want to implode an array as key-value pairs, this method comes in handy. 
The third parameter is the symbol to be used between key and value.

<?php
function mapped_implode($glue$array$symbol '=') {
    return 
implode($gluearray_map(
            function(
$k$v) use($symbol) { 
                return 
$k $symbol $v;
            }, 
           
array_keys($array), 
           
array_values($array)
            )
        );
}

$arr = [
   
'x'=> 5
   
'y'=> 7
   
'z'=> 99,
   
'hello' => 'World',
   
=> 'Foo',
];

echo 
mapped_implode(', '$arr' is ');

// output: x is 5, y is 7, z is 99, hello is World, 7 is Foo

?>
2020-04-24 20:43:39
http://php5.kiev.ua/manual/ru/function.implode.html

    Поддержать сайт на родительском проекте КГБ