Foros del Web » Programando para Internet » PHP »

Recorrer un array

Estas en el tema de Recorrer un array en el foro de PHP en Foros del Web. Hola chicos Intentaré explicar porque realmente estoy perdida Tengo esto Código PHP:  $file  =  implode ( file (  $newurl  ));     if(  substr_count (  $file  ,  ...
  #1 (permalink)  
Antiguo 05/11/2007, 21:08
(Desactivado)
 
Fecha de Ingreso: septiembre-2004
Mensajes: 360
Antigüedad: 19 años, 7 meses
Puntos: 1
Recorrer un array

Hola chicos
Intentaré explicar porque realmente estoy perdida
Tengo esto
Código PHP:
 $file implode(file$newurl ));

    if( 
substr_count$file "<record>" ) ){


          
$records explode"<record>"$file );
          
$parsed null;
            foreach( 
$records as $line_num => $line ){
             if (
strpos($line,"</record>")){

          
preg_match('/<title><\!\[CDATA\[ (.*)\]\]><\/title>/'$line ,$title );
          
preg_match('/<description><\!\[CDATA\[ (.*)\]\]><\/description>/'$line ,$desc );
          
preg_match('/<url><\!\[CDATA\[ (.*)\]\]><\/url>/'$line ,$url );
          
preg_match('/<bid >(.*)<\/bid>/'$line ,$bid );
          
preg_match('/<clickurl><\!\[CDATA\[ (.*)\]\]><\/clickurl>/'$line ,$clickurl );

        }

          
$parsed[$line_num]['title'] = $title['1'];
          
$title$title[1];
          
$parsed[$line_num]['description'] = $desc[1];;
          
$desc $desc[1];
          
$parsed[$line_num]['url'] = $url['1'];
          
$siteurl $url[1];
          
$parsed[$line_num]['bid'] = $bid['1'];
          
$bid $bid[1];
          
$parsed[$line_num]['clickurl'] = $clickurl['1'];
          
$url $clickurl[1];

          }
    } 
Hasta aquí todo bien, con esto parseo un xml. Ahora bien a continuación de lo que pegué antes mi proceso sigue con algo como esto:
Código PHP:
$value_title[$i] = $title;
      
$value_desc[$i] = $desc;
      
$value_url[$i] = $siteurl;
      
$value_site[$i] = $site_name
Y aquí es donde me pierdo porque lo que me llega es el último registro parseado, es decir, no lo está recorriendo uno por uno para luego usar ese valor. Pienso que debería usar un 'while' pero lo intenté y ahí no me llega nada
Espero si entienda algo y me den una ayudita.
Cariños y gracias.
  #2 (permalink)  
Antiguo 05/11/2007, 22:38
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Re: Recorrer un array

Hola Su:

Al parecer, en cada iteración del foreach estás redefiniendo los valores de $title, $desc, $siteurl, $bid, $url... por lo que al final en esas variables solamente queda el último valor.

Si no necesitas usar esas variables para nada más, podrías hacer directamente
Código PHP:
          $parsed[$line_num]['title'] = $title['1'];
          
$value_title[]= $title[1];
          
$parsed[$line_num]['description'] = $desc[1];;
          
$value_desc[] = $desc[1];
          
$parsed[$line_num]['url'] = $url['1'];
          
$value_siteurl[] = $url[1]; 
Un abrazo
  #3 (permalink)  
Antiguo 05/11/2007, 23:46
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Re: Recorrer un array

Cita:
$value_title[$i] = $title;
Esta mal porque $title es un ARRAY
  #4 (permalink)  
Antiguo 05/11/2007, 23:47
(Desactivado)
 
Fecha de Ingreso: septiembre-2004
Mensajes: 360
Antigüedad: 19 años, 7 meses
Puntos: 1
Re: Recorrer un array

Entiendo, así lo hice y resultó perfecto.
Tema solucionado.
Agradezco infinitamente.

P.D. Gracias Italico76 también por supuesto. No estoy segura de lo que me decís, en ese $title me llega exactamente lo que necesito.
Salu2.
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 13:49.