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
Agregue un comentario