implode

(PHP 4, PHP 5, PHP 7)

implodeОбъединяет элементы массива в строку

Описание

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

Объединяет элементы массива с помощью строки glue.

Замечание:

По историческим причинам, функции implode() можно передавать аргументы в любом порядке, однако для унификации с функцией explode() следует использовать документированный порядок аргументов.

Список параметров

glue

По умолчанию равен пустой строке.

pieces

Массив объединяемых строк.

Возвращаемые значения

Возвращает строку, содержащую строковое представление всех элементов массива в указанном порядке, со строкой glue между каждым элементом.

Примеры

Пример #1 Пример использования implode()

<?php

$array 
= array('имя''почта''телефон');
$comma_separated implode(","$array);

echo 
$comma_separated// имя,почта,телефон

// Пустая строка при использовании пустого массива:
var_dump(implode('hello', array())); // string(0) ""

?>

Примечания

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Смотрите также

  • explode() - Разбивает строку с помощью разделителя
  • preg_split() - Разбивает строку по регулярному выражению
  • http_build_query() - Генерирует URL-кодированную строку запроса

Коментарии

Also quite handy in INSERT statements:

<?php

   
// array containing data
   
$array = array(
     
"name" => "John",
     
"surname" => "Doe",
     
"email" => "j.doe@intelligence.gov"
   
);

   
// build query...
   
$sql  "INSERT INTO table";

   
// implode keys of $array...
   
$sql .= " (`".implode("`, `"array_keys($array))."`)";

   
// implode values of $array...
   
$sql .= " VALUES ('".implode("', '"$array)."') ";

   
// execute query...
   
$result mysql_query($sql) or die(mysql_error());

?>
2005-03-30 09:50:32
http://php5.kiev.ua/manual/ru/function.implode.html
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
Автор:
Safe way to pass as parameters in IN

<?php
$id_nums 
= array(1,6,12,18,24);
$p_types '';
$qs    = array();
foreach (
$id_nums as $id) {
   
$qs[]   = '?';
   
$p_types .= 'i'// or whatever type
}
$nums_list implode(','$qs);
             
$sqlquery "Select name,email,phone from usertable where user_id IN ($nums_list)";

$stmt $dbh->stmt_init();
$stmt->prepare($sqlquery);
// later on, instead of bind:
$parms_array array_merge(array($p_types), $id_nums);
call_user_func_array(array($stmt,'bind_param'), $parms_array );

// $sqlquery becomes "Select name,email,phone from usertable where user_id IN (?,?,?,?,?)"
?>
2014-04-11 22:26:17
http://php5.kiev.ua/manual/ru/function.implode.html
in case you want to implode by keys:
<?php
const POSITION_KEY 0;
const 
POSITION_VAL 2;
const 
POSITION_DESC 1;

$key 'key';
$val 'val';
$desc 'desc';

$arr = array(
   
POSITION_KEY => $key,
   
POSITION_VAL => $val,
   
POSITION_DESC => $desc,
);
echo 
kimplode('=',$arr); // key=desc=val
echo '<br>';
echo 
krimplode('=',$arr); // val=desc=key

function kimplode($glue,$arr){
   
ksort($arr);
    return 
implode($glue,$arr);
}
function 
krimplode($glue,$arr){
   
krsort($arr);
    return 
implode($glue,$arr);
}
?>
2014-05-11 13:57:12
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
A very neat option to limit the number of pieces being imploded is by using array_slice (http://php.net/array_slice):

<?php
$picnames 
= array("pic1.jpg""pic2.jpg""pic3.jpg""pic4.jpg""pic5.jpg""pic6.jpg""pic7.jpg");
$allpics implode("|"array_slice($picnames05)); 
?>

Hope it helps!
2016-05-09 14:24:15
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
<?php 

//Basic loop into <li>, maybe for some help

$some_string'jordan pippen rodman jeckson divac shaq';

$string_to_arrayexplode(' ',$some_string);

foreach (
$string_to_array as $value):
   
        echo 
"<li>";

            echo 
$value;

        echo 
"</li>";
   

    endforeach;

 
?>

/*jordan
pippen
rodman
jeckson
divac
shaq
*/
2016-12-30 21:46:16
http://php5.kiev.ua/manual/ru/function.implode.html
implode stops upon encountering NULL

$myArray = ('one', 'two', 'three', null, 'four', 'five');
echo implode(', ', $myArray);

output:
one, two, three
2017-04-21 11:20:11
http://php5.kiev.ua/manual/ru/function.implode.html
Автор:
Dizi içerisindeki veriyi istenilen yapıştırıcı ile birleştirir.

<?php
echo implode(' ', ['lorem','dolor','sit','amed']); //lorem dolor sit amed
?>
2017-08-23 10:12:01
http://php5.kiev.ua/manual/ru/function.implode.html
It is possible for an array to have numeric values, as well as string values. Implode will convert all numeric array elements to strings.

<?php
$test
=implode(["one",2,3,"four",5.67]);
echo 
$test;
//outputs: "one23four5.67"
?>
2017-09-15 07:24:27
http://php5.kiev.ua/manual/ru/function.implode.html

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