2011-04-06 9 views
11

Tengo una pregunta sobre las variables/matrices utilizadas en las funciones de PHP. Después de ejecutar la función, ¿todas las variables se desconectan automáticamente? Si no, ¿cuándo se deshacen exactamente, después de ejecutar toda la página PHP? Después de un cierto tiempo?¿Las variables utilizadas en las funciones de PHP se desarman automáticamente después de la ejecución de la función?

¿Es útil desarmar todas las variables utilizadas en una función al final de la función para liberarla de la memoria?

Gracias de antemano por su ayuda y comentarios!

+0

Variables en ámbito local se destruyen (memoria liberada) en ejecución de la función (final). –

+0

Gracias a todos por sus respuestas. – Martin

Respuesta

7

Las variables locales que se definen y utilizan en una función no se desconectan automáticamente después de que se ejecuta la función. Más bien, están marcados para ser recogidos por el recolector de basura. A menos que consuma grandes cantidades de memoria con la definición de una variable local, realmente no hay necesidad de deshacerlos explícitamente. Solo deja que el recolector de basura haga su trabajo.

+0

¿De todos modos para hacer eso manualmente antes de que la función regrese? –

+0

http://php.net/manual/en/function.unset.php –

0

Sí, se desasignan una vez que se finaliza su alcance (la función vuelve).

No creo que su memoria se borre automáticamente, sino que se borrarán cuando se requiera memoria adicional.

0

Sí, cualquier cosa no declarada como global DENTRO de una función no existirá fuera de la función. Una vez que la función se ejecuta, los valores ya no están en mem.

PHP: Variable Scope

Cuestiones relacionadas