Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Runex en 31 Marzo 2012, 18:08 pm



Título: No muestra links PHP
Publicado por: Runex en 31 Marzo 2012, 18:08 pm
Código
  1. <?php
  2. class menu
  3. {
  4. private $enlaces = array();
  5. private $titulo = array();
  6. public function inicializar($enl,$tit)
  7. {
  8. $this->enlaces[] = $enl;
  9. $this->titulo[] = $tit;
  10. }
  11. public function mostrarhorizontal()
  12. {
  13. for($x=0;$x<count($this->enlaces);$x++)
  14. {
  15. echo "<a href=\"$this->enlaces[$x]\">$this->titulo[$x]</a>";
  16. }
  17. }
  18. public function mostrarvertical()
  19. {
  20. for($x=0;$x<count($this->enlaces);$x++)
  21. {
  22. echo "<a href=\"$this->enlaces[$x]\">$this->titulo[$x]</a><br>";
  23. }
  24. }
  25. }
  26. $instancia = new menu();
  27. $instancia->inicializar("http://www.google.es","Google");
  28. $instancia->inicializar("http://www.php.es","PHP");
  29. $instancia->mostrarvertical();
  30. ?>

El caso es que en vez de mostrar el titulo, que marca el <a href=''>Titulo</a>, devuelve Array
  • y no sé porque , he revisado el código y no encuentro nada raro nose :S.

Gracias compañeros :)


Título: Re: No muestra links PHP
Publicado por: BEATMASTER en 2 Abril 2012, 01:21 am
Estas mandando mal el parametro.... lo que estas haciendo es crear diferentes arrays

intenta esto:

Código:
$links[0]="http://www.google.es";
$titulos[0]="Google";
$links[1]="http://www.php.es";
$titulos[1]="PHP";

$instancia = new menu();
$instancia->inicializar($links,$titulos);
$instancia->mostrarvertical();

Esto para que veas mejor como funciona el array... aunque podrias haber enviado los links y titulos directos en la funcion inicializar separados por comas


Título: Re: No muestra links PHP
Publicado por: #!drvy en 2 Abril 2012, 01:44 am
En realidad, lo que te falla es que imprimes mal el echo.

Código
  1. echo "<a href=\"$this->enlaces[$x]\">$this->titulo[$x]</a><br>";

Si te fijas, el $this->titulo[$x] no lo separa ninguna comilla.
Te recomiendo que uses tanto las comillas simples como las dobles.. te va a hacer la vida mas facil :P

Código
  1. echo '<a href="'.$this->enlaces[$x].'">'.$this->titulo[$x].'</a><br>';


PD: Esto va en el subforo de PHP (http://foro.elhacker.net/php-b68.0/).

Saludos