Foros del Web » Programando para Internet » PHP »

No me carga un array dentro de una función

Estas en el tema de No me carga un array dentro de una función en el foro de PHP en Foros del Web. Código PHP:      function  lista () {         global  $videos ;          $videos  = array (             array( 'Autobiografía' , 'GJ0bMSr5-P0' ),             array( 'Quedate' , 'DXQnHbg8kS4' ),             array( 'Catro_vellos_marineiros_con_David_Civera' , ...
  #1 (permalink)  
Antiguo 07/02/2014, 16:23
 
Fecha de Ingreso: enero-2008
Mensajes: 580
Antigüedad: 16 años, 3 meses
Puntos: 9
No me carga un array dentro de una función

Código PHP:
    function lista() {
        global 
$videos;
        
$videos = array (
            array(
'Autobiografía','GJ0bMSr5-P0'),
            array(
'Quedate','DXQnHbg8kS4'),
            array(
'Catro_vellos_marineiros_con_David_Civera','nlIVrm3frrE'),
            array(
'Oh_sole_mio','0ZTiWAtB42c'),
        );
    }
    
lista();
    function 
enlace($video) {
        
lista();
        print 
"a: ".$videos[0][1];
        print 
"<a href=\"".strtolower($video).".html\">".str_replace("_"" "$video)."</a>";
    } 
  #2 (permalink)  
Antiguo 07/02/2014, 17:00
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: No me carga un array dentro de una función

Para empezar es pésima idea usar variables globales para eso.

¿Qué te parece si en lugar de usar una variable global tu función devuelve el array?

Además en tu código jamás invocas a la función enlace(), ¿esperas a que tu código se ejecute por si sólo?

En todo caso esto es mucho mejor:
Código PHP:
Ver original
  1. <?php
  2.  
  3.     function lista() {
  4.         return array (
  5.             array('Autobiografía','GJ0bMSr5-P0'),
  6.             array('Quedate','DXQnHbg8kS4'),
  7.             array('Catro_vellos_marineiros_con_David_Civera','nlIVrm3frrE'),
  8.             array('Oh_sole_mio','0ZTiWAtB42c'),
  9.         );
  10.     }
  11.  
  12.     function enlace($video) {
  13.         $videos = lista();
  14.         print "a: ".$videos[0][1];
  15.         print "<a href=\"".strtolower($video).".html\">".str_replace("_", " ", $video)."</a>";
  16.     }
  17.  
  18.     enlace('x');
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 07/02/2014, 17:00
 
Fecha de Ingreso: enero-2008
Mensajes: 580
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: No me carga un array dentro de una función

usando una variable intermediaria funciona, pero me gustaría poder evitarla

P.D: Gracias por responder pateketrueke, uhmm, pruebo tu variante

Si llamo a esa función, disculpa que no pusiese el html
<li><?php enlace(Texto) ?></li>
  #4 (permalink)  
Antiguo 07/02/2014, 17:06
 
Fecha de Ingreso: enero-2008
Mensajes: 580
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: No me carga un array dentro de una función

Cita:
<?php

function lista() {
return array (
array('Autobiografía','GJ0bMSr5-P0'),
array('Quedate','DXQnHbg8kS4'),
array('Catro_vellos_marineiros_con_David_Civera',' nlIVrm3frrE'),
array('Oh_sole_mio','0ZTiWAtB42c'),
);
}

function title(&$title) {
$title=str_replace("_"," ",$title);
$title=str_replace("marineiros","mariñeiros",$titl e);
}
function enlace(&$video) {
$url=strtolower($video);
//$title=str_replace("_"," ",$video);
//$title=str_replace("marineiros","mariñeiros",$titl e);
$title=$video;title($title);
print "<a href=\"$url.html\">$title</a>";
}
foreach ($videos as $clave=>$valor) {
if (isset($_GET["v"])) {
if (strtolower($valor[0])==strtolower($_GET["v"])) {
//$title=str_replace("_"," ",$valor[0]);
//$title=str_replace("marineiros","mariñeiros",$titl e);
$title=$valor[0];title($title);
$url=$valor[1];
}
} else {
$title="Autobiografía";
$url=$videos[0][1];
}
$server="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
}
?>
Cita:
<li><?php enlace($videos[2][0]); ?></li>
Cita:
# Activar RewriteEngine
RewriteEngine on

# Reescribir la URL solicitada por el usuario
# Entrada: NOMBRE/
# Salida: ?v=NOMBRE
#RewriteRule ^(\w+)/?$ ?v=$1
RewriteRule ^(.+)\.html$ ?v=$1
  #5 (permalink)  
Antiguo 07/02/2014, 17:07
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: No me carga un array dentro de una función

Pues sigues cometiendo muchos errores de diseño (software), no es buena idea usar variables por referencia, ni globales.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 07/02/2014, 17:23
 
Fecha de Ingreso: enero-2008
Mensajes: 580
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: No me carga un array dentro de una función

no comprendo bien el fallo que comentas, ¿puedes concretar? gracias
Cita:
no es buena idea usar variables por referencia
http://www.php.net/manual/es/languag...ences.pass.php




Código PHP:
<?php

    
function lista() {
        return array (
            array(
'Autobiografía','GJ0bMSr5-P0'),
            array(
'Quedate','DXQnHbg8kS4'),
            array(
'Catro_vellos_marineiros_con_David_Civera','nlIVrm3frrE'),
            array(
'Oh_sole_mio','0ZTiWAtB42c'),
        );
    }
    
$videos=lista();

    function 
title(&$title) {
        
$title=str_replace("_"," ",$title);
        
$title=str_replace("marineiros","mariñeiros",$title);        
    }    
    function 
enlace(&$video) {
        
$url=strtolower($video);
        
$title=$video;
        
title($title);
        print 
"<a href=\"$url.html\">$title</a>";
    }
    foreach (
$videos as $clave=>$valor) {
        if (isset(
$_GET["v"])) {
            if (
strtolower($valor[0])==strtolower($_GET["v"])) {
                
$title=$valor[0];
                
title($title);
                
$url=$valor[1];
            }
        } else {
                
$title="Autobiografía";
                
$url=$videos[0][1];
        }
        
$server="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
    }
?>
  #7 (permalink)  
Antiguo 07/02/2014, 19:32
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: No me carga un array dentro de una función

No es un "fallo", es mala practica.

Piensa en eso.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 07/02/2014, 19:38
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: No me carga un array dentro de una función

Dicho con otras palabras, @qioco5, si pusieras eso en un examen en la facultad, reprobarías programación en PHP sin necesidad de que el profesor siguiera leyendo el ejercicio...

¿Así te queda más claro?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 07/02/2014, 21:03
 
Fecha de Ingreso: enero-2008
Mensajes: 580
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: No me carga un array dentro de una función

Hola @nzsoloyo, os entiendo, pero no se como podría hacerlo para que quedase mejor, no se si con el siguiente código me aproximo a buenas practicas

Código PHP:
    function lista() {
        return array (
            array(
'Autobiografía','GJ0bMSr5-P0'),
            array(
'Catro_vellos_mariñeiros_con_David_Civera','nlIVrm3frrE'),
            array(
'Oh_sole_mio','0ZTiWAtB42c'),
            array(
'Violetas_imperiales','ZIZwwGoZ1FQ'),
        );
    }
    
$videos=lista();
    function 
enlace($enlace) {
        
$videos=lista();
        foreach (
$videos as $clave=>$valor) {
            if (
$valor[0]==$enlace) {
                
$title=str_replace("_"," ",$valor[0]);
                
$url=str_replace("ñ","n",strtolower($valor[0]));
                print 
"<a href=\"$url.html\">$title</a>";
            }
        }
    }
    foreach (
$videos as $clave=>$valor) {
        if (isset(
$_GET["v"])) {
            if (
str_replace("ñ","n",strtolower($valor[0]))==$_GET["v"]) {
                
$title=str_replace("_"," ",$valor[0]);
                
$url=$valor[1];
            }
        } else {
                
$title=$videos[0][0];
                
$url=$videos[0][1];
        }
        
$redes_sociales="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
    } 
  #10 (permalink)  
Antiguo 07/02/2014, 21:10
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: No me carga un array dentro de una función

Te sugiero aprender a manejar arrays, la forma en que lo haces es siempre iterar para ir comparando, cuando algo más simple funcionaría mucho mejor:
Código PHP:
Ver original
  1. function lista() {
  2.         return array (
  3.             'Autobiografía' => 'GJ0bMSr5-P0',
  4.             'Quedate' => 'DXQnHbg8kS4',
  5.             'Catro_vellos_marineiros_con_David_Civera' => 'nlIVrm3frrE',
  6.             'Oh_sole_mio' => '0ZTiWAtB42c',
  7.         );
  8.     }
  9.  
  10. $videos = lista();
  11.  
  12. foreach ($videos as $titulo => $codigo) {
  13.   echo '<a href="URL?', $codigo, '-', title($titulo), '">', $titulo, '</a>';
  14. }

De igual forma la función titulo() no debería usar variables por referencia:
Código PHP:
Ver original
  1. function title($title) {
  2.         $title=str_replace("_"," ",$title);
  3.         $title=str_replace("marineiros","mariñeiros",$title);        
  4.  
  5.         return $title;
  6.     }
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #11 (permalink)  
Antiguo 07/02/2014, 22:07
 
Fecha de Ingreso: enero-2008
Mensajes: 580
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: No me carga un array dentro de una función

según leo en http://aprendeenlinea.udea.edu.co/lm...=true&id=75222

la diferencia entre valor y referencia esta en el simbolo "&"

la
Código PHP:
function title($title) {} 
no me funcionaba sin el "&", dicha función ya no la uso

Con el array como dices no funciona, ¿a que se debe?
Código PHP:
<?php
    
function lista() {
        return array (
            
'Autobiografía'=>'GJ0bMSr5-P0',
            
'Catro_vellos_mariñeiros_con_David_Civera'=>'nlIVrm3frrE',
            
'Oh_sole_mio'=>'0ZTiWAtB42c',
            
'Quedate'=>'DXQnHbg8kS4',
            
'Violetas_imperiales'=>'ZIZwwGoZ1FQ',
        );
    }
    
$videos=lista();
    function 
enlace($enlace) {
        
$videos=lista();
        foreach (
$videos as $clave=>$valor) {
            if (
$valor[0]==$enlace) {
                
$title=str_replace("_"," ",$valor[0]);
                
$url=str_replace("ñ","n",strtolower($valor[0]));
                print 
"<a href=\"$url.html\">$title</a>";
            }
        }
    }
    foreach (
$videos as $clave=>$valor) {
        if (isset(
$_GET["v"])) {
            if (
str_replace("ñ","n",strtolower($valor[0]))==$_GET["v"]) {
                
$title=str_replace("_"," ",$valor[0]);
                
$url=$valor[1];
            }
        } else {
                
$title=$videos[0][0];
                
$url=$videos[0][1];
        }
        
$redes_sociales="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
    }
?>

Última edición por quico5; 07/02/2014 a las 22:13
  #12 (permalink)  
Antiguo 07/02/2014, 22:19
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: No me carga un array dentro de una función

tu código no es compatible con mi cambio, sólo era un ejemplo.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #13 (permalink)  
Antiguo 07/02/2014, 22:23
 
Fecha de Ingreso: enero-2008
Mensajes: 580
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: No me carga un array dentro de una función

Ohh, pero se prodrá adaptar ¿no? yo lo estoy intentando
Código HTML:
<?php
	function lista() {
		return array (
			array('Autobiografía','GJ0bMSr5-P0'),
			array('Catro_vellos_mariñeiros_con_David_Civera','nlIVrm3frrE'),
			array('Oh_sole_mio','0ZTiWAtB42c'),
			array('Quedate','DXQnHbg8kS4'),
			array('Violetas_imperiales','ZIZwwGoZ1FQ'),
			/*
			'Autobiografía'=>'GJ0bMSr5-P0',
			'Catro_vellos_mariñeiros_con_David_Civera'=>'nlIVrm3frrE',
			'Oh_sole_mio'=>'0ZTiWAtB42c',
			'Quedate'=>'DXQnHbg8kS4',
			'Violetas_imperiales'=>'ZIZwwGoZ1FQ',
			*/
		);
	}
	$videos=lista();
	/*
	foreach ($videos as $titulo => $codigo) {
		if (isset($_GET["v"])) {
			echo '<a href="URL?', $codigo, '-', title($titulo), '">', $titulo, '</a>';
		}
	}
	*/
	foreach ($videos as $clave=>$valor) {
		if (isset($_GET["v"])) {
			if (str_replace("ñ","n",strtolower($valor[0]))==$_GET["v"]) {
				$title=str_replace("_"," ",$valor[0]);
				$url=$valor[1];
			}
		} else {
				$title=$videos[0][0];
				$url=$videos[0][1];
		}
		$redes_sociales="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
	}
	function enlace($enlace) {
		$videos=lista();
		foreach ($videos as $clave=>$valor) {
			if ($valor[0]==$enlace) {
				$title=str_replace("_"," ",$valor[0]);
				$url=str_replace("ñ","n",strtolower($valor[0]));
				print "<a href=\"$url.html\">$title</a>";
			}
		}
	}
?>

<!doctype html>
<html lang="es">
<head>
	<meta charset="utf-8">
	<title>Fausto: <?php echo $title; ?></title>
	<!-- Latest compiled and minified CSS -->
	<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootstrap/3.1.0/css/bootstrap.min.css">
	<!-- Optional theme -->
	<link rel="stylesheet" href="/themes/Slate/bootstrap.min.css">
	<!--  -->
	<link rel="stylesheet" href="/css/style.css">
	<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
	<script src="https://code.jquery.com/jquery.js"></script>
	<!-- Latest compiled and minified JavaScript -->
	<script src="http://netdna.bootstrapcdn.com/bootstrap/3.1.0/js/bootstrap.min.js"></script>
</head>
<body>

	<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
		<div class="container-fluid">
			<!-- Brand and toggle get grouped for better mobile display -->
			<div class="navbar-header">
				<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
					<span class="sr-only">Toggle navigation</span>
					<span class="icon-bar"></span>
					<span class="icon-bar"></span>
					<span class="icon-bar"></span>
				</button>
				<a class="navbar-brand" href="./"><span class="glyphicon glyphicon-facetime-video"></span> Autobiografía</a>
			</div>

			<!-- Collect the nav Enlaces, forms, and other content for toggling -->
			<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
				<ul class="nav navbar-nav">
					<!--li class="active"><a href="#">Enlace</a></li>
					<li><a href="#">Enlace</a></li-->
					<li class="dropdown">
						<a href="#" class="dropdown-toggle" data-toggle="dropdown"><span class="glyphicon glyphicon-facetime-video"></span> Fausto <b class="caret"></b></a>
						<ul class="dropdown-menu">
							<li role="presentation" class="dropdown-header">2011/2014</li>
							<li><?php enlace("Violetas_imperiales"); ?></li>
							<!--li class="divider"></li-->
						</ul>
					</li>
					<li class="dropdown">
						<a href="#" class="dropdown-toggle" data-toggle="dropdown"><span class="glyphicon glyphicon-facetime-video"></span> Fatiga Fusión <b class="caret"></b></a>
						<ul class="dropdown-menu">
							<li role="presentation" class="dropdown-header">2011/2014</li>
							<li><?php enlace("Oh_sole_mio"); ?></li>
							<!--li class="divider"></li-->
						</ul>
					</li>
					<li class="dropdown">
						<a href="#" class="dropdown-toggle" data-toggle="dropdown"><span class="glyphicon glyphicon-facetime-video"></span> Talisman <b class="caret"></b></a>
						<ul class="dropdown-menu">
							<li role="presentation" class="dropdown-header">2011/2014</li>
							<li><?php enlace("Catro_vellos_mariñeiros_con_David_Civera"); ?></li>
							<!--li class="divider"></li-->
						</ul>
					</li>
				</ul>
				<ul class="nav navbar-nav navbar-right">
					<li class="dropdown">
						<a href="#" class="dropdown-toggle" data-toggle="dropdown"><span class="glyphicon glyphicon-share-alt"></span> Redes Sociales <b class="caret"></b></a>
						<ul class="dropdown-menu">
							<li role="presentation" class="dropdown-header">Facebook</li>
							<li><a href="http://www.facebook.com/sharer.php?u=<?php print $redes_sociales; ?>&t=<?php print $title; ?>" target="_blank">Compartir</a></li>
							<li><a href="https://www.facebook.com/fausto.vigo" target="_blank">Visitar</a></li>
							<li class="divider"></li>
							<li role="presentation" class="dropdown-header">Twitter</li>
							<li><a href="http://twitter.com/home?status=<?php print "@contratenor1: ".$title." -> ".$redes_sociales; ?>" target="_blank">Compartir</a></li>
							<li><a href="https://twitter.com/contratenor1" target="_blank">Visitar</a></li>
							<li class="divider"></li>
							<li role="presentation" class="dropdown-header">Goolge+</li>
							<li><a href="https://plus.google.com/share?url=<?php print $redes_sociales; ?>" target="_blank">Compartir</a></li>
							<li><a href="https://plus.google.com/107512179514884170320/posts?hl=es" target="_blank">Visitar</a></li>
							<li class="divider"></li>
							<li role="presentation" class="dropdown-header">YouTube</li>
							<li><a href="http://www.youtube.com/user/FaustoLopezCat" target="_blank">Visitar</a></li>
							<li class="divider"></li>
							<li role="presentation" class="dropdown-header">LinkedIn</li>
							<li><a href="http://es.linkedin.com/pub/faustino-lopez-catalina/66/2a9/781" target="_blank">Visitar</a></li>
						</ul>
					</li>
					<!--li><a href="#"><span class="glyphicon glyphicon-envelope"></span> Contactar</a></li>
					<li><a href="#"><span class="glyphicon glyphicon-info-sign"></span> Ayuda</a></li-->
				</ul>
			</div><!-- /.navbar-collapse -->
		</div><!-- /.container-fluid -->
	</nav>

	<div class="container">
		<div class="jumbotron">
			<div class="row">
				<div class="col-md-3 col-md-push-9">
					<figure>
						<h2 class="text-center">Fausto!</h2>
						<img src="https://scontent-a-fra.xx.fbcdn.net/hphotos-ash3/t1/1044835_10200156681981748_1829584009_n.jpg" class="img-thumbnail img-circle img-responsive" alt="Responsive image">
						<figcaption class="text-center">Música entre amigos</figcaption>
						<hr class="hidden-md hidden-lg">
					</figure>
				</div>
				<div class="col-md-9 col-md-pull-3">
					<h1 class="text-center"><?php print $title; ?></h1>
					<iframe src="http://www.youtube.com/embed/<?php print $url; ?>?rel=0&showinfo=0&controls=1&autoplay=1&start=0&end=" frameborder="0" allowfullscreen></iframe>
				</div>
			</div>
		</div>
	</div>

</body>
</html> 
  #14 (permalink)  
Antiguo 07/02/2014, 22:37
 
Fecha de Ingreso: enero-2008
Mensajes: 580
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: No me carga un array dentro de una función

Repasando tu ejemplo, hasta aqui funciona
Código PHP:
    function lista2() {
        return array (
            
'Autobiografía'=>'GJ0bMSr5-P0',
            
'Catro_vellos_mariñeiros_con_David_Civera'=>'nlIVrm3frrE',
            
'Oh_sole_mio'=>'0ZTiWAtB42c',
            
'Quedate'=>'DXQnHbg8kS4',
            
'Violetas_imperiales'=>'ZIZwwGoZ1FQ',
        );
    }
    
$videos2=lista2();
    foreach (
$videos2 as $clave => $valor) {
        if (isset(
$_GET["v"]) and str_replace("ñ","n",strtolower($clave))==$_GET["v"]) {
            echo 
"<a href='".str_replace("ñ","n",strtolower($clave)).".html'>".str_replace("_"," ",$clave)."</a> ";
        }
    } 

Última edición por quico5; 07/02/2014 a las 22:50
  #15 (permalink)  
Antiguo 07/02/2014, 23:01
 
Fecha de Ingreso: enero-2008
Mensajes: 580
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: No me carga un array dentro de una función

¿Esta parte mejor asi?

Código PHP:
    function enlace($enlace) {
        
$videos=lista();
        foreach (
$videos as $clave=>$valor) {
            if (
$valor[0]==$enlace) {
                print 
"<a href='".str_replace("ñ","n",strtolower($enlace)).".html'>".str_replace("_"," ",$enlace)."</a> ";
            }
        }
    } 
  #16 (permalink)  
Antiguo 07/02/2014, 23:41
 
Fecha de Ingreso: enero-2008
Mensajes: 580
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: No me carga un array dentro de una función

¿Así mejor?

Código PHP:
    function lista() {
        return array (
            
'Catro_vellos_mariñeiros_con_David_Civera'=>'nlIVrm3frrE',
            
'Oh_sole_mio'=>'0ZTiWAtB42c',
            
'Quedate'=>'DXQnHbg8kS4',
            
'Violetas_imperiales'=>'ZIZwwGoZ1FQ',
        );
    }
    
$videos=lista();
    foreach (
$videos as $clave => $valor) {
        if (isset(
$_GET["v"])) {
            if (
str_replace("ñ","n",strtolower($clave))==$_GET["v"]) {
                
$title=str_replace("_"," ",$clave);
                
$url=$valor;
            }
        } else {
            
$title="Autobiografía";
            
$url="GJ0bMSr5-P0";
            break;
        }
        
$redes_sociales="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
    }
    function 
enlace($enlace) {
        
$videos=lista();
        foreach (
$videos as $clave=>$valor) {
            if (
$clave==$enlace) {
                print 
"<a href='".str_replace("ñ","n",strtolower($clave)).".html'>".str_replace("_"," ",$clave)."</a>";
            }
        }
    } 

Última edición por quico5; 07/02/2014 a las 23:57
  #17 (permalink)  
Antiguo 08/02/2014, 13:55
 
Fecha de Ingreso: enero-2008
Mensajes: 580
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: No me carga un array dentro de una función

Uhmm, he reducido bastante el código, espero que sea correcto, me he cardado un foreach por medio de array_key_exists, me pregunto si puedo cargarme el otro foreach tambien y simplificar mas el código
Código PHP:
    $redes_sociales="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
    
$title="Autobiografía";
    
$url="GJ0bMSr5-P0";
    function 
lista() { return array (
        
'Catro_vellos_mariñeiros_con_David_Civera'=>'nlIVrm3frrE',
        
'Oh_sole_mio'=>'0ZTiWAtB42c',
        
'Quedate'=>'DXQnHbg8kS4',
        
'Violetas_imperiales'=>'ZIZwwGoZ1FQ',
    );}
    foreach (
lista() as $clave => $valor) {
        if (isset(
$_GET["v"]) and str_replace("ñ","n",strtolower($clave)) == $_GET["v"]) {
            
$title=str_replace("_"," ",$clave);
            
$url=$valor;
        }
    }
    function 
enlace($enlace) {
        if (
array_key_exists($enlacelista())) {
            print 
"<a href='".str_replace("ñ","n",strtolower($enlace)).".html'>".str_replace("_"," ",$enlace)."</a>";
        }
    } 

Etiquetas: html
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 18:14.