Foros del Web » Programando para Internet » PHP »

Recorrer Array Recursivamente y retornar un array

Estas en el tema de Recorrer Array Recursivamente y retornar un array en el foro de PHP en Foros del Web. Buenas tardes, Tengo un array de clases STD, pueden tener distintas "profundidades". Me gustaría recorrer recursivamente con una función y crear el mismo array pero ...
  #1 (permalink)  
Antiguo 17/05/2012, 14:13
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 18 años
Puntos: 23
Pregunta Recorrer Array Recursivamente y retornar un array

Buenas tardes,
Tengo un array de clases STD, pueden tener distintas "profundidades".

Me gustaría recorrer recursivamente con una función y crear el mismo array pero con una instancia de otra otra clase.
EL problema lo tengo en como ir almacenando los objetos "reconvertidos". Ya que si declaro una variable, cada vez que se llame a la función dentro de la función, volvería al valor inicial.

Alguna idea?

Gracias!
  #2 (permalink)  
Antiguo 17/05/2012, 14:34
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Recorrer Array Recursivamente y retornar un array

Cita:
Iniciado por McBlink;4190477[...
Alguna idea? [...]
Claro, consulta la documentación.

Específicamente en la sección de funciones para arrays.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 17/05/2012, 17:17
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Recorrer Array Recursivamente y retornar un array

Puedes usar array_walk y una función recursiva, así puedes ir modificando cada entrada:
Código PHP:
Ver original
  1. $test = array(1, 2, 3, 4, 5, 6);
  2. array_walk($test, function(&$item, $key) {
  3.     $item = $item * 2;
  4. });
  5.  
  6. var_dump($test);
  #4 (permalink)  
Antiguo 17/05/2012, 17:40
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Recorrer Array Recursivamente y retornar un array

Seria interesante ver las clases para ver que se puede hacer, otra alternativa podría ser Iterators + DataTransformers.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #5 (permalink)  
Antiguo 17/05/2012, 18:06
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 18 años
Puntos: 23
Respuesta: Recorrer Array Recursivamente y retornar un array

Gracias por las respuestas!, estuve mirando un poco mas, y encontre esta funcion:

array walk recursive

Que seria lo que me sugirió GatorV, pero supuestamente ya lo aplica recursivamente, sin necesidad de una funcion adicional..

La voy a probar y comento.

Saludos
  #6 (permalink)  
Antiguo 17/05/2012, 18:07
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 18 años
Puntos: 23
Respuesta: Recorrer Array Recursivamente y retornar un array

Cita:
Iniciado por masterpuppet Ver Mensaje
Seria interesante ver las clases para ver que se puede hacer, otra alternativa podría ser Iterators + DataTransformers.

Saludos.
Con respecto a eso, el array es de clases STD, donde incluso un atributo de un objeto STD es otro objeto STD..

Etiquetas: retornar, variables
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 21:36.