Foros del Web » Programando para Internet » PHP »

Eliminar cadenas repetida

Estas en el tema de Eliminar cadenas repetida en el foro de PHP en Foros del Web. Saludos. Tengo lo siguiente: $cadena = 10,11,12,12,12,12,12,23,23,23,23,34; quiero dejarla asi: $cadena = 10,11,12,23,34; Cómo puedo hacer eso? Gracias...
  #1 (permalink)  
Antiguo 21/10/2004, 08:42
Avatar de José Molina  
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 15 años, 11 meses
Puntos: 1
Eliminar cadenas repetida

Saludos.

Tengo lo siguiente:

$cadena = 10,11,12,12,12,12,12,23,23,23,23,34;

quiero dejarla asi:

$cadena = 10,11,12,23,34;

Cómo puedo hacer eso?

Gracias
__________________
José Molina
La marginalidad no esta en la incapacidad de calmar el hambre de un estómago sino en la incapacidad de calmar el hambre de la mente.
  #2 (permalink)  
Antiguo 21/10/2004, 08:46
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Hola,

Pasar a array con explode(), quitar repetidos con array_unique(), pasar a cadena con implode().

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 21/10/2004, 08:47
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 13 años, 6 meses
Puntos: 2
$cadena = implode(",",array_unique(explode(",",$cadena)));
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #4 (permalink)  
Antiguo 21/10/2004, 08:59
Avatar de José Molina  
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 15 años, 11 meses
Puntos: 1
Funciona perfecto.

Y si viene asi:

$cadena = ,10,,11,12,12,,12,12,12,,23,23,23,,23,34,;

Que debería agregar??
__________________
José Molina
La marginalidad no esta en la incapacidad de calmar el hambre de un estómago sino en la incapacidad de calmar el hambre de la mente.
  #5 (permalink)  
Antiguo 21/10/2004, 09:15
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
array_filter() antes del implode(). O antes del array_unique().

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.

Última edición por josemi; 21/10/2004 a las 09:24
  #6 (permalink)  
Antiguo 21/10/2004, 09:25
Avatar de José Molina  
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 15 años, 11 meses
Puntos: 1
Así??

$cadena = array_filter(implode(",",array_unique(explode(",", $cadena))), ",");

???

No creo que lo este escribiendo bien, porque no me funciona, jejejeje
__________________
José Molina
La marginalidad no esta en la incapacidad de calmar el hambre de un estómago sino en la incapacidad de calmar el hambre de la mente.
  #7 (permalink)  
Antiguo 21/10/2004, 09:48
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Antes "logicamente", en el sentido de la ejecucion. La sentencia de living (la vida loca ) se ejecuta de dentro hacia fuera. Es lo mismo a:
Código PHP:
$x=explode(',',$cadena);
$x=array_unique($x);
$cadena=implode(',',$x); 
Pues antes de implode() seria:
Código PHP:
$x=explode(',',$cadena);
$x=array_unique($x);
$x=array_filter($x);
$cadena=implode(',',$x); 
O la misma condensada:
Código PHP:
$cadena=implode(',',array_filter(array_unique(explode(',',$cadena)))); 
saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #8 (permalink)  
Antiguo 21/10/2004, 10:30
Avatar de José Molina  
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 15 años, 11 meses
Puntos: 1
Demonios.

Disculpen.

Gracias
__________________
José Molina
La marginalidad no esta en la incapacidad de calmar el hambre de un estómago sino en la incapacidad de calmar el hambre de la mente.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:25.