Para los que nos gusta manejar cadenas cuando programamos, en PHP existe 2 funciones que nos permiten convertir un arreglo en cadena definiendo un delimitador y viceversa
La función Implode:
Sintaxis: «string implode ( string $glue , array $pieces )»
Básicamente convierte cualquier Array ($pieces) dimensional en una cadena separado por el delimitador ($glue)
ejemplo:
$miarreglo1 = array('el','código','fuente');
$miarreglo2[] = 'Programación';
$miarreglo2[] = 'en';
$miarreglo2[] = 'php';
$salida1 = implode('-',$miarreglo1);
$salida2 = implode('|',$miarreglo2);
echo $salida1;
echo '<br />';
echo $salida2;
El resultado será 2 cadenas con lo siguiente: :
el-código-fuente
Programacion|en|php
Más información: PHP: implode – Manual
_________________________________________________
La función Explode:
Sintaxis: «array explode ( string $delimiter , string $string )»
Nota: está función tiene 1 parámetro más que lo puedes ver en la web oficial
Es lo contrario al implode, devuelve un array indicándole un delimitador y la cadena a procesar
Ejemplo
$micadena = "el|foro|de|programacion";
$miarreglo = explode ('|',$micadena);
el resultado será un array de 4 elementos con los índices del 0 al 3 y en cada uno es una parte de la cadena delimitado por el | ($miarreglo[0]=el, $miarreglo[0]=foro, etc…) y ya lo podemos trabajar como tal (con el foraeach por ejemplo)
Más información: PHP: explode – Manual
______________
Un uso interesante manejar los datos como arrays y cuando quieran hacer una consulta SQL con un IN () le puedes poner el implode
$id[]=1;
$id[]=2;
$id[]=3;
$id[]=4;
$sql = 'select * from tabla where numberid in (0'.implode(',',$id).')';
PD: pongo en el in un «0» por si la cadena me da VACIO, cosa que así me aseguro que el IN tenga al menos un valor