Foros del Web » Programando para Internet » PHP »

Guardar datos de una funcion en una variable

Estas en el tema de Guardar datos de una funcion en una variable en el foro de PHP en Foros del Web. Hola a todos, tengo un problema al parecer algo sencillo pero que por muchas vueltas que le doy no consigo extraer la solución... Vereis, tengo ...
  #1 (permalink)  
Antiguo 18/06/2013, 04:09
 
Fecha de Ingreso: mayo-2013
Mensajes: 7
Antigüedad: 10 años, 10 meses
Puntos: 0
Guardar datos de una funcion en una variable

Hola a todos, tengo un problema al parecer algo sencillo pero que por muchas vueltas que le doy no consigo extraer la solución...

Vereis, tengo un lector en php de rss, que lo que hace es extraer la primera noticia de un rss y mostrar el titulo y su descripción. Lo que yo quiero es guardar lo que muestra esa funcion en una variable.

La funcion y su llamada seria asi:

Código:
function lectorRSS($url,$elementos=6,$inicio=0) {
	    $cache_version = "cache/" . basename($url);
	    $archivo = fopen($url, 'r');
	    stream_set_blocking($archivo,true);
	    stream_set_timeout($archivo, 5);
	    $datos = stream_get_contents($archivo);
	    $status = stream_get_meta_data($archivo);
	    fclose($archivo);
	    if ($status['timed_out']) {
		  $noticias = simplexml_load_file($cache_version);
	    }
	    else {
		  $archivo_cache = fopen($cache_version, 'w');
		  fwrite($archivo_cache, $datos);
		  fclose($archivo_cache);
		  $noticias = simplexml_load_string($datos);
	    }
	$ContadorNoticias=1;
  	echo "<ul>";
	foreach ($noticias->channel->item as $noticia) { 
	if($ContadorNoticias<$elementos){
		if($ContadorNoticias>$inicio){
			
			echo ($noticia->title);
			echo "</br>";
			echo utf8_decode($noticia->description);
			
		}
		$ContadorNoticias = $ContadorNoticias + 1;
 	 }
	} 
	echo "</ul>";
}
lectorRSS('http://feeds.feedburner.com/noticiashiphop',2);
Esto mostraria ahora mismo este resultado:

Dlux lanza videoclip como adelanto de su nuevo disco
Dlux prepara el lanzamiento de su nuevo disco y lanza primer videoclip como adelanto. Marga y Noelia vuelven, tras los discos "Después de la marea" (2003) y "Encadenadas" (2007), con un nuevo álbum bajo el brazo que llevará por título "Una vez más". El disco se compondrá de 10 cortes con colaboraciones de Kunta K y Prince Osito. Detalles sobre el disco, así como el tracklist completo podé..

Bien, quiero que ese texto se guarde como una varible por ejemplo $noticia

y que si yo pongo varias veces $noticia se repita una y otra vez en la pagina.

E provado con lo siguiente:

Código:
$noticia = lectorRSS('http://feeds.feedburner.com/noticiashiphop',2);

echo $noticia;
echo $noticia;
Pero no guarda el resultado (o no lo muestra dos veces)

Donde tengo el fallo? como solucionarlo?

Muchas gracias de antemano.
  #2 (permalink)  
Antiguo 18/06/2013, 04:12
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 6 meses
Puntos: 331
Respuesta: Guardar datos de una funcion en una variable

Tienes que reemplazar los echo de la función por $noticia .= lo que sea,
La función retornará la variable $noticia y luego puedes llamar a la función así:

$noticia = lectorRSS('http://feeds.feedburner.com/noticiashiphop',2);

Consulta un tutorial de PHP, saludos.
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 18/06/2013, 04:25
 
Fecha de Ingreso: mayo-2013
Mensajes: 7
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Guardar datos de una funcion en una variable

E probado esto
Código:
 	foreach ($noticias->channel->item as $noticia) { 
	if($ContadorNoticias<$elementos){
		if($ContadorNoticias>$inicio){
			
		$noticia1.= $noticia->title;
			
			
		}
		$ContadorNoticias = $ContadorNoticias + 1;
 	 }
	} 
	echo "</ul>";
}
$noticia1 = lectorRSS('http://feeds.feedburner.com/noticiashiphop',2);

echo $noticia1;
echo $noticia1;
Pero no funciona... se queda en blanco.

Gracias.
  #4 (permalink)  
Antiguo 18/06/2013, 04:31
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 6 meses
Puntos: 331
Respuesta: Guardar datos de una funcion en una variable

La función retornará la variable $noticia
http://www.php.net/manual/es/functio...ing-values.php
__________________
Fere libenter homines, id quod volunt, credunt.

Etiquetas: funcion, variable
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 06:10.