On Thu, Jul 25, 2002 at 10:26:03PM +0200, Bas Jobsen wrote:
> Hello,
> I have this  example code:
> function doprint($a){foreach($a as $value)echo $value;}
> doprint(array('1','test','hello','and'));
> Question, is the array in memory after the function call?
> So, should it be better to use this:
> function doprint($a){foreach($a as $value)echo $value;}
> doprint($temp=array('1','test','hello','and'));
> unset($temp);

Depends on the scope you're talking about.  The first way doesn't set the
array into memory outside the function, but it goes into memory inside the
function as $a.  The second way puts it into memory twice, first as $temp
and second as $a.

Now, I'm not certain of what happens to your memory allocation inside the
function.  I don't believe PHP automatically cleans up memory under such
circumstances.  If I'm correct and you want to keep memory down, you could
do an unset() INSIDE the function.


               PHP classes that make web design easier
        SQL Solution  |   Layout Solution   |  Form Solution
    sqlsolution.info  | layoutsolution.info |  formsolution.info
 T H E   A N A L Y S I S   A N D   S O L U T I O N S   C O M P A N Y
 4015 7 Av #4AJ, Brooklyn NY     v: 718-854-0335     f: 718-854-0409

PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to