SoloCodigo

Programación Web y Scripting => PHP => Mensaje iniciado por: gokufast en Lunes 4 de Mayo de 2009, 18:05

Título: Como poner un array en una variable de sesion?
Publicado por: gokufast en Lunes 4 de Mayo de 2009, 18:05
como puedo poner un array en una variable de sesion?

porque genere una tabla usando array pero esos datos del array quiero guardarlos en una variable de sesion pero no se como intente asi:
Código: PHP
  1. foreach ($numero_array as $na)
  2.     {
  3.         echo $na."<br>";
  4.         $_SESSION[sesion_numero_array_1]=$na;
  5.     }
  6.  
pero solo me sale el ultimo numero.

saludos
Título: Re: Como poner un array en una variable de sesion?
Publicado por: talcual en Sábado 23 de Mayo de 2009, 05:37
$_SESSION[]=array(); creo q es asi, aunque yo no me pondria a hacer eso ya q esta superglobal es muy buena aunque no todos pensamos igual de todas formas creo q esa es la forma no estoy muy seguro
Título: Re: Como poner un array en una variable de sesion?
Publicado por: punteroNULO en Domingo 24 de Mayo de 2009, 12:01
La varibale $_SESSION es un array que contiene la variables de sesión, solo hay que indicar que una de ellas es una array.
Quedaría de la forma siguiente:
Código: PHP
  1.  
  2. foreach ($numero_array as $na)
  3.     {
  4.         echo $na."<br>";
  5.         $_SESSION['mi_array'][]=$na;
  6.     }
  7.  
  8.  

Donde en la variable de sesión "mi_array" almacena un vector.

Citar
$_SESSION[]=array();
No hace falta $_SESSION es un variable global que ya es un vector por definición. No hay que especificarlo.
Título: Re: Como poner un array en una variable de sesion?
Publicado por: talcual en Domingo 24 de Mayo de 2009, 20:38
bueno hoy aprendi algo nuevo eso es lo importante saludos
Título: Re: Como poner un array en una variable de sesion?
Publicado por: F_Tanori en Domingo 24 de Mayo de 2009, 23:35
Cita de: "gokufast"
como puedo poner un array en una variable de sesion?

porque genere una tabla usando array pero esos datos del array quiero guardarlos en una variable de sesion pero no se como intente asi:
Código: PHP
  1.  
  2. $sesion_numero_array_1 =0;
  3. foreach ($numero_array as $na)
  4.     {
  5.         echo $na."<br>";
  6.         $_SESSION[$sesion_numero_array_1]=$na;
  7.         $sesion_numero_array_1++;
  8.     }
  9.  
pero solo me sale el ultimo numero.

saludos

Pues en que momento incrementas la posicion?

si es una de sesion donde almacenas sesion_numero_array_1, debes de incrementarla tambien; aunque esto no te crearia un arreglo sino una variable (posicion), en el arreglo de $_SESSION  (como bien te dice punteroNULO ) tienes que decir cual posicion de la variable de SESSION  es un arreglo


La mejor forma de almacenar un arreglo es serializandolo, incluso sirve para mandarlo por url, para grabarlo en ua sesion, en una tabla, en una arhivo, etc. almacenandolo como cadena y manejandolo como tal, hasta que sea necesario utlizarlo como estructura.


http://www.php.net/serialize (http://www.php.net/serialize" onclick="window.open(this.href);return false;)
http://www.php.net/manual/en/function.unserialize.php (http://www.php.net/manual/en/function.unserialize.php" onclick="window.open(this.href);return false;)

Aunque con lo que te han dicho ya se resuelve el problema.


Saludos