PDA

Ver la Versión Completa : Liberar un vector...


Tanix
26-08-2003, 10:31:42
Hola a tod@s... Tengo un problemilla con un vector, a ver si alguien me puede echar una mano. REsulta que trabajo con sesiones. Yo inicializo una variable de sesion, vector_sesion, que es un vector donde voy almacenando los datos que me interesan, como por ejemplo: vector_sesion['dni'], vector_sesion['nombre'], etc... Mi problema es que un usuario que se autentifique puede saltar entre varias aplicaciones y lo que me gustaria es que al cambiar de aplicacion este vector se liberase de memoria, no quiero cargarme la variable de sesion, sino liberar ciertos elementos del array, pero no poniendolos a vacio, ya que eso no me libera recursos... Alguien sabria como hacerlo???... Gracias por sus ayuda... Un saludo... Tanix

delphi.com.ar
26-08-2003, 15:46:46
Si tus vectores son dinámicos, solo tienes que hacer un SetLength a cero.

Saludos!

Tanix
27-08-2003, 09:42:42
Hola delphi.com.ar. En primer lugar gracias por tu respuesta... Pero resulta que me he ido al manual de PHP y esa funcion no existe. Estamos hablando de PHP???... A lo mejor te estoy entendiendo mal... Gracias de nuevo... Un saludo... Tanix.

delphi.com.ar
27-08-2003, 15:31:59
Ups.. Mil disculpas.... He respondido por Delphi, no me di cuenta de que se trataba del foro de PHP, mismo te había preparado un ejemplo con punteros a vectores por si no te servía... Mil disculpas nuevamente!!

roman
27-08-2003, 16:42:48
Respecto a la pregunta original pienso que la función unset servirá. El manual de PHP menciona que puede usarse para destruir cualquier variable, incluso un elemento de un arreglo, por ejemplo:


unset(vector_sesion['dni']);


// Saludos

Emilio
27-08-2003, 19:16:49
Esto te servirá

$vector_sesion = null;

Saludos
Emilio.

Tanix
28-08-2003, 09:36:36
Bueno, gracias a todos por el interes mostrado y por sus post. Decirte, delphi.com.ar, que no te preocupes, a mi tambien me pasa que al programar en 3 o 4 lenguajes ya no sabes ni donde estas y te tienes que parar a plantearte cualquier cosita, por pequeña que sea... Incluso liarte a la hora de recordar como hacer una asignacion ;) ... De todas formas he probado la opcion de roman y funciona perfectamente...:D . Incluso cuando hablamos de arrays asociativos funciona bien... Me explico... Tengo algo como esto:

$vector_sesion[facultad][estudiante];
$vector_sesion[direccion][estudiante];
...
...
//si ahora hacemos esto... Nos libera la parte del vector
//que queremos...

unset($vector_sesion[facultad]);

Gracias por vuestra ayuda de nuevo... Saludos...Tanix.