function implode_r($glue,$arr){
$ret_str = "";
foreach($arr as $a){
$ret_str .= (is_array($a)) ? implode_r($glue,$a) : "," . $a;
}
return $ret_str;
}
implode
(PHP 4, PHP 5)
implode — Join 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
- explode() - Split a string by string
- preg_split() - Split string by a regular expression
- http_build_query() - Generate URL-encoded query string
jento ¶
1 month ago
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: ''
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());
?>
masterandujar ¶
7 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)"
?>
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.
omar dot ajoue at kekanto dot com ¶
1 month 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! ;)
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);
Anonymous ¶
10 days 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>
