Foros del Web » Programando para Internet » PHP »

Matar (terminar variables) Todas

Estas en el tema de Matar (terminar variables) Todas en el foro de PHP en Foros del Web. Hola, Tengo un script con varias variables y uso UNSET para terminarlas. Sin embargo actualmente hago esto: unset ($var1, $var2, etc etc etc); ¿Hay alguna ...
  #1 (permalink)  
Antiguo 26/07/2004, 11:04
Avatar de Rnsto  
Fecha de Ingreso: marzo-2002
Ubicación: Puerto Vallarta, Mexico
Mensajes: 204
Antigüedad: 22 años, 1 mes
Puntos: 0
Matar (terminar variables) Todas

Hola,

Tengo un script con varias variables y uso UNSET para terminarlas.

Sin embargo actualmente hago esto:

unset ($var1, $var2, etc etc etc);

¿Hay alguna forma de matar todas, sin tener que poner una por una?
__________________
Saludos
Rnstho Luna
go2mexico.com
  #2 (permalink)  
Antiguo 26/07/2004, 14:26
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues .. dejar que termine el script.

PHP ya libera memoría, cierra conexiones, etc .. al terminar la ejecución de un script.

Es decir .. si haces algo tipo:

unset($var ...);
?> y .. aquí a continuación terminas el script .. no vale la pena hacer ese unset() ahí ..


Un saludo,
  #3 (permalink)  
Antiguo 26/07/2004, 16:21
Avatar de Rnsto  
Fecha de Ingreso: marzo-2002
Ubicación: Puerto Vallarta, Mexico
Mensajes: 204
Antigüedad: 22 años, 1 mes
Puntos: 0
Entiendo eso Cluster,

Sin embargo tengo que repetir un script varias veces y entonces cada vez que termina necesito limpiar la variable, para usarla de nuevo.

Porque si no tengo que usar varios nombres de variables...
__________________
Saludos
Rnstho Luna
go2mexico.com
  #4 (permalink)  
Antiguo 26/07/2004, 17:12
Avatar de xavivars  
Fecha de Ingreso: enero-2002
Ubicación: Benissa - la Marina Alta
Mensajes: 212
Antigüedad: 22 años, 3 meses
Puntos: 1
porque no pones todas las variables dentro de un array ($var['var1'], $var['var2'],...) y al terminar haces un unset($var)?
  #5 (permalink)  
Antiguo 26/07/2004, 19:14
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
mmm Rnsto ..

Ejemplo:

Si tengo $variable="valor";

Y posteriormente (sin haberla destruido) .. hago:

$variable="otro valor";

El último valor es que prevalecerá.

Lo mismo sucede si usas un bucle ...

Si por una de aquellas por ejemplo estubieses "concatenando" tipo:

$variable .= "valor";

en un bucle .. sólo tendrías que definir valor "vació" antes de ingresar a tu bucle tipo:

$variable = '';

para luego trabajar con $variable .= "valor";

Bueno .. no sé cual es tu caso concreto .. pero normalmente puedes ir "chafando/sobreescribiendo" el valor de una misma variable de mismo nombre sucesivamente sin problemas. Si nos explicas mejor que situación tienes .. tal vez veamos alguna forma mejor de como trabajar el asunto de tus variables (usando arrays, "variables variables" o similar ...)

Un saludo,
  #6 (permalink)  
Antiguo 26/07/2004, 19:14
Avatar de Rnsto  
Fecha de Ingreso: marzo-2002
Ubicación: Puerto Vallarta, Mexico
Mensajes: 204
Antigüedad: 22 años, 1 mes
Puntos: 0
Pero poner una variable, que agrupe variables, no resulta lo mismo que ponerlas todas dentro del unset ???
__________________
Saludos
Rnstho Luna
go2mexico.com
  #7 (permalink)  
Antiguo 26/07/2004, 19:22
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues si .. es lo mismo.

Pero si tus variables tuviesen alguna relación tal que se pudieran crear de forma dinámica (ej: $nose_1 nose_2 .. etc) ahí estaría la ventaja de usar técnicas como un array o "variables variables" para aplicar un bucle y usar unset() .. NO hay función para "matar" toda variable .. eso ya lo hace PHP por sí sólo al terminar la ejecución de tu script.

Un saludo,
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 02:04.