downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | conferences | my php.net

search for in the

join> <htmlspecialchars
[edit] Last updated: Fri, 17 May 2013

view this page in

implode

(PHP 4, PHP 5)

implodeVerbindet Array-Elemente zu einem String

Beschreibung

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

Verbindet die Elemente eines Array mittels glue zu einer Zeichenkette.

Hinweis:

implode() akzeptiert die Parameter aus historischen Gründen in beiden Reihenfolgen. Dennoch sollten Sie schon wegen der Übereinstimmung mit explode() die dokumentierte und wahrscheinlich weniger verwirrende Reihenfolge der Argumente verwenden.

Parameter-Liste

glue

Standardmäßig eine leere Zeichenkette. Das Weglassen dieses Parameters an dieser Stelle (siehe Notiz weiter oben) wird nicht empfohlen, da hierduch der zweite Parameter als glue verwendet wird und der falsche Prototyp benutzt werden würde.

pieces

Das Array mit den zusammenzufügenden Zeichenketten.

Rückgabewerte

Gibt einen String mit einer String-Repräsentation aller Array-Elemente in der gleichen Reihenfolge wie in dem Array zurück, bei dem die einzelnen Array-Elemente mit dem im Parameter glue angegebenen String verbunden werden.

Changelog

Version Beschreibung
4.3.0 Der glue wurde optional.

Beispiele

Beispiel #1 implode()-Beispiel

<?php

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

echo 
$comma_separated// lastname,email,phone

// Leere Zeichenkette wenn leeres Array genutzt wird
var_dump(implode('hello', array())); // string(0) ""

?>

Anmerkungen

Hinweis: Diese Funktion ist binary safe.

Siehe auch

  • explode() - Teilt einen String anhand einer Zeichenkette
  • preg_split() - Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks



join> <htmlspecialchars
[edit] Last updated: Fri, 17 May 2013
 
add a note add a note User Contributed Notes implode - [9 notes]
up
3
jento
3 months ago
function implode_r($glue,$arr){
        $ret_str = "";
        foreach($arr as $a){
                $ret_str .= (is_array($a)) ? implode_r($glue,$a) : "," . $a;
        }
        return $ret_str;
}
up
21
houston_roadrunner at yahoo dot com
4 years ago
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: ''
up
14
php.net {at} nr78 {dot} net
8 years ago
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());

?>
up
5
masterandujar
9 months ago
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)"
?>
up
1
omar dot ajoue at kekanto dot com
3 months ago
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! ;)
up
3
alexey dot klimko at gmail dot com
1 year ago
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.
up
0
Anonymous
1 month ago
/*Defining the associative array to keep the name of
              toppings checked*/   
            $arrayOfMeatToppingsSelected = array();
            $arrayOfVegetablesToppingsSelected = array();

            //Imploding of the names of the toppings checked
            $implodedArrayOfMeatToppingsSelected = implode(', ', $arrayOfMeatToppingsSelected);   
            $implodedArrayOfVegetablesToppingsSelected = implode(', ', $arrayOfVegetablesToppingsSelected);           

        <form action="orderConfirmation.php" method="post">
                    <input type="hidden" name="firstName" value="<?php echo $firstName; ?>" />
                    <input type="hidden" name="lastName" value="<?php echo $lastName; ?>" />
                    <input type="hidden" name="address" value="<?php echo $address; ?>" />
                    <input type="hidden" name="city" value="<?php echo $city; ?>" />
                    <input type="hidden" name="province" value="<?php echo $province; ?>" />
                    <input type="hidden" name="postalCode" value="<?php echo $postalCode; ?>" />
                    <input type="hidden" name="telephone" value="<?php echo $telephone; ?>" />
                    <input type="hidden" name="email" value="<?php echo $email; ?>" />
                    <input type="hidden" name="numberPizza" value="<?php echo $numberPizza; ?>" />
                    <input type="hidden" name="sizePizza" value="<?php echo $sizePizza; ?>" />
                    <input type="hidden" name="crustTypePizza" value="<?php echo $crustTypePizza; ?>" />
                    <input type="hidden" name="toppings" value="<?php echo $checkBoxCount; ?>" />
                    <input type="hidden" name="extrasPizza" value="<?php echo $extrasPrice; ?>" />
                    <input type="hidden" name="price" value="<?php echo $price; ?>" />
                    <input type="hidden" name="priceTax" value="<?php echo $priceTax; ?>" />
                    <input type="hidden" name="finalPrice" value="<?php echo $finalPrice; ?>" />
                    <input type="hidden" name="deletion" value="<?php echo "1"; ?>" />
                    <input type="hidden" name="implodedArrayOfMeatToppingsSelected"
                        value="<?php echo $implodedArrayOfMeatToppingsSelected; ?>" />
                    <input type="hidden" name="implodedArrayOfVegetablesToppingsSelected"
                        value="<?php echo $implodedArrayOfVegetablesToppingsSelected; ?>" />
           
                    <input type="submit" value="Submit" />
                </form>
up
0
Anonymous
3 months ago
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.
up
-1
Cedric at isoca dot com
10 years ago
Implode with an unset array will made a warning and fail, but is ok with an empty array.
So if you don't trust the content of the array, allways initialize it before :
  $param = array();
  [...]
  echo implode('&', $param);

 
show source | credits | sitemap | contact | advertising | mirror sites