El uso de Implode y Explode de PHP

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


Posted

in

by

Tags:

Comments

3 respuestas a “El uso de Implode y Explode de PHP”

  1. Daniel Avatar
    Daniel

    En el explode debería ser $miarreglo = explode (‘|’,$micadena); y llamar a $miarreglo[0],… y no $micadena[0]

    1. Jhonnyf Avatar
      Jhonnyf

      Corregido, gracias por informar

  2. gonzalo Avatar
    gonzalo

    Excelente explicación! muchas gracias!

Agregue un comentario

Su dirección de correo no se hará público. Los campos requeridos están marcados *