Foros del Web » Programando para Internet » PHP »

añadir valores a array en funcion recursiva

Estas en el tema de añadir valores a array en funcion recursiva en el foro de PHP en Foros del Web. Buenas, tengo una duda de como hacer mejor una question. Resulta que (esto es irrelevante) usando la api de facebook para sacar unas imagenes. Pues ...
  #1 (permalink)  
Antiguo 05/10/2011, 18:26
 
Fecha de Ingreso: junio-2009
Mensajes: 309
Antigüedad: 15 años, 5 meses
Puntos: 5
añadir valores a array en funcion recursiva

Buenas, tengo una duda de como hacer mejor una question. Resulta que (esto es irrelevante) usando la api de facebook para sacar unas imagenes. Pues bien, si examinais mi codigo lo que hago es añadir a una cadena de texto con las funciones recursivas la info, separada por unos caracteres a mi eleccion. Despues parseo y creo el array.

Lo que pasa que estoy convencido que la ultima parte de organizar como un array no hace falta. Creo que es posible ir creando el array directamente en vez de crear primero una cadena y despues ir cortando con explode. Pero no consigo hacerlo. El codigo es el siguiente, si no se entiende algo preguntarme:

Código PHP:

            
// Funcion que saca las fotos de una zona
            
function sacarFotosFbUploader($facebook$nombreAlbum$me){
            
$info '';
            
$num count($me['data']);
                
// Si hay resultados...
                
if($num 0){
                    foreach(
$me['data'] as $img){
                    
$info .= $nombreAlbum.'@@'.$img['source'].'||';
                    }
                    
                    
// Si habian 25 resultados puede que haya otra pagina
                    
if($num == 25){
                    
$next explode("photos?"$me['paging']['next']);
                    
$me $facebook->api('/me/photos?'.$next[1]);    
                    }
                    
                return 
$info;
                }
            
            }
            
            
// Sacamos los albums
            
function sacarAlbumsFbUploader($facebook$me){
            
$num count($me['data']);
                if(
$num 0){
                    
                    
// Cada album
                    
foreach($me['data'] as $album){
                    
$fotosAlbum $facebook->api($album['id'].'/photos');    
                    
$info2 .= sacarFotosFbUploader($facebook$album['name'], $fotosAlbum);    
                    }
                    
                    
// ¿Hay mas paginas de albums?
                    
if($num == 25){
                    
$next explode("albums?"$me['paging']['next']);
                    
$me $facebook->api('/me/albums?'.$next[1]);
                    }
                return 
$info2;
                }
                
            }
           
            
// Primero sacamos las fotos que no están en albums
            
$me $facebook->api('/me/photos');
            
$todasLasFotos sacarFotosFbUploader($facebook'Fotos etiquetadas'$me);
            
            
// Ahora sacamos las fotos de los albumes.
            
$me $facebook->api('/me/albums');
            
$todasLasFotos .= sacarAlbumsFbUploader($facebook$me);    
                
            
            
// Organizamos la cadena como un array
            
$todasLasFotos explode("||"$todasLasFotos);
            unset(
$todasLasFotos[count($todasLasFotos) - 1]);
            foreach(
$todasLasFotos as $img){
                
// Sacamos la url de la imagen y el album
                
$partes explode('@@'$img);
                
$nombreAlbum $partes[0];
                
$urlImagen $partes[1];
                
                
$arrayFotos[$nombreAlbum][] = $urlImagen;
            }
            
            
print_r($arrayFotos); 
Un saludo!

Etiquetas: funcion, imagenes, recursiva
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 11:15.