Foros del Web » Programando para Internet » PHP »

agrupar elementos de array

Estas en el tema de agrupar elementos de array en el foro de PHP en Foros del Web. hola tengo el siguiente problema, en un array poblado por array_push, quiero agrupar los valores del mismo de la siguiente forma: el array: Código: Array ...
  #1 (permalink)  
Antiguo 04/12/2012, 21:57
Avatar de cadrogui  
Fecha de Ingreso: junio-2003
Mensajes: 875
Antigüedad: 20 años, 10 meses
Puntos: 5
agrupar elementos de array

hola tengo el siguiente problema, en un array poblado por array_push, quiero agrupar los valores del mismo de la siguiente forma:

el array:

Código:
Array ( [0] => Pregunta del Dia - maestro de trivias [1] => lobo - Maldicion Destruida [2] => lobo - Amasando la fortuna [3] => lobo - Recolector Primer Nivel [4] => lobo - Medio vivo, medio maldito [5] => fotopuzzle - logro 1 [6] => fotopuzzle - logro 2 )
quiero agrupar o crear n arrays segun los elementos comunes:

Código:
Pregunta del Dia - maestro de trivias 

lobo - Maldicion Destruida
lobo - Amasando la fortuna
lobo - Recolector Primer Nivel 

etc...
poblé el array con un elemento diferenciador y el "-" con la idea de poder separarlos y agruparlos, pero no se me ocurre nada..

alguien me tira un cable..

gracias.
__________________
La mejor manera de aprender es por medio de un aprendizaje significativo....

http://www.cocert.cl
  #2 (permalink)  
Antiguo 05/12/2012, 09:39
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 3 meses
Puntos: 288
Respuesta: agrupar elementos de array

en realidad esto lo podrias iniciar asi:

$array = array();
$i = 1;
$array[$i]['titulo'][] = "Pregunta del Dia"
$array[$i]['descripcion'][] = "maestro de trivias"

$i++;
$array[$i]['titulo'][] = "lobo"
$array[$i]['descripcion'][] = "Recolector Primer Nivel"

si haces print_r($array);
podes ver la estructura que se armó y la vas a poder procesar facilmente
  #3 (permalink)  
Antiguo 05/12/2012, 11:15
Avatar de cadrogui  
Fecha de Ingreso: junio-2003
Mensajes: 875
Antigüedad: 20 años, 10 meses
Puntos: 5
Respuesta: agrupar elementos de array

gracias por tu ayuda, lo que tengo es lo siguiente:

Código:
Array
(
    [0] => Array
        (
            [juego] => Pregunta del Dia
            [logro] => 
        )

    [1] => Array
        (
            [juego] => lobo
            [logro] => Maldicion Destruida
        )

    [2] => Array
        (
            [juego] => lobo
            [logro] => Amasando la fortuna
        )

    [3] => Array
        (
            [juego] => lobo
            [logro] => Recolector Primer Nivel
        )

    [4] => Array
        (
            [juego] => lobo
            [logro] => Medio vivo, medio maldito
        )

    [5] => Array
        (
            [juego] => fotopuzzle
            [logro] => logro 1
        )

    [6] => Array
        (
            [juego] => fotopuzzle
            [logro] => logro 2
        )

)
lo que pretendo es:

Código:
Array
(
    [Pregunta del Dia] => Array
        (
            [logro] => 
        )

    [lobo] => Array
        (
            [logro] => Medio vivo, medio maldito
            [logro] => Amasando la fortuna
            [logro] => Recolector primer nivel

        )

    [fotopuzzle] => Array
        (
            [logro] => logro 1
            [logro] => logro 2

        )

)
gracias.
__________________
La mejor manera de aprender es por medio de un aprendizaje significativo....

http://www.cocert.cl
  #4 (permalink)  
Antiguo 05/12/2012, 11:37
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: agrupar elementos de array

Solo es cuestión de recorrer el array en un foreach y agregar lo que deseas en otro array.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 05/12/2012, 14:15
Avatar de cadrogui  
Fecha de Ingreso: junio-2003
Mensajes: 875
Antigüedad: 20 años, 10 meses
Puntos: 5
Respuesta: agrupar elementos de array

gracias por toda su ayuda, lo logre de la siguiente manera:

1.- cree arrays dinamicos para no tener que definir cada uno de ellos
2.- filtre los datos con

list($juego, $logro) = split('[-.-]', $logro);

y luego poble los arrays con array_push

funciona bien.

gracias por todo!
__________________
La mejor manera de aprender es por medio de un aprendizaje significativo....

http://www.cocert.cl

Etiquetas: agrupar, elementos
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 23:54.