PHP.mk документација

implode

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.implode.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.implode.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
implode

Референца за `function.implode.php` со подобрена типографија и навигација.

function.implode.php

implode

(PHP 4, PHP 5, PHP 7, PHP 8)

implodeСпој ги елементите од низата со стринг

= NULL

implode(string $separator, array $array): string

Поставете информации за локалот

implode(array $array): string

Наследена сигнатура (отфрлена од PHP 7.4.0, отстранета од PHP 8.0.0):

implode(array $array, string $separator): string

Спој ги елементите од низата со separator string.

Параметри

separator

Изборно. Стандардно е празен стринг.

array

Низата од стрингови за имплодирање.

Вратени вредности

Враќа стринг кој содржи текстуелна репрезентација на сите елементи од низата во ист редослед, со стринг-сепаратор помеѓу секој елемент.

Дневник на промени

Верзија = NULL
8.0.0 Поминување на separator после array веќе не се поддржува.
7.4.0 Поминување на separator после array (т.е. користејќи ја наследената сигнатура) е отфрлено.

Примери

Пример #1 implode() example

<?php

$array
= ['lastname', 'email', 'phone'];
var_dump(implode(",", $array)); // string(20) "lastname,email,phone"

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

// The separator is optional:
var_dump(implode(['a', 'b', 'c'])); // string(3) "abc"

?>

Белешки

Забелешка: Пример #4 Користење на контексти на потоци

Види Исто така

  • explode() - Подели стринг по стринг
  • preg_split() - Подели стринг по регуларен израз
  • http_build_query() - Генерирај URL-кодиран стринг за прашање

Белешки од корисници 9 белешки

houston_roadrunner на yahoo точка com
пред 16 години
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: ''
Tr909 at com dot nospam dot bigfoot
пред 7 години
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
omar dot ajoue на kekanto dot com
пред 13 години
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! ;)
alexey dot klimko на gmail dot com
пред 14 години
If you want to implode an array of booleans, you will get a strange result:
<?php
var_dump(implode('',array(true, true, false, false, true)));
?>

Output:
string(3) "111"

TRUE became "1", FALSE became nothing.
Феликс Раух
пред 9 години
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
Хонк од зајакот
пред 5 години
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($glue, array_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',
    7 => 'Foo',
];

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

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

?>
Анонимен
пред 13 години
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.
masterandujar
пред 13 години
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.
Анонимен
пред 10 години
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
?>
Навигација

Прелистувај сродни теми и функции.

На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.