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: ''
implode
(PHP 4, PHP 5)
implode — Une elementos de un array en un string
Descripción
string implode
( string
$glue
, array $pieces
)
string implode
( array
$pieces
)
Une elementos de un array en un string con glue (pegamento).
Nota:
Por razones históricas implode() puede aceptar parámetros en cualquier orden. Para matener una consistencia respecto a explode(), puede que sea menos confuso usar el orden de argumentos de la documentación.
Parámetros
-
glue -
Por defecto es un string vacío.
-
pieces -
El array de strings a ser usados por implode.
Valores devueltos
Devuelve un string que contiene la representación de todos los elementos del array en el mismo orden, con el string 'glue' entre cada elemento.
Historial de cambios
| Versión | Descripción |
|---|---|
| 4.3.0 |
El parámetro glue se hizo opcional.
|
Ejemplos
Ejemplo #1 Ejemplo de implode()
<?php
$array = array('apellido', 'email', 'teléfono');
$separado_por_comas = implode(",", $array);
echo $separado_por_comas; // apellido,email,teléfono
// Devuelve un string vacío si se usa un array vacío:
var_dump(implode('hola', array())); // string(0) ""
?>
Notas
Nota: Esta función es segura binariamente.
Ver también
- explode() - Divide una cadena en varias cadenas
- preg_split() - Divide una cadena mediante una expresión regular
- http_build_query() - Generar una cadena de consulta codificada estilo URL
houston_roadrunner at yahoo dot com ¶
4 years ago
jento ¶
2 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;
}
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 ¶
8 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 ¶
2 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! ;)
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 ¶
2 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.
Anonymous ¶
29 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>
