ID: 40122 User updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] -Status: Bogus +Status: Open -Bug Type: Strings related +Bug Type: Documentation problem Operating System: Mac OS X 10.4.8 PHP Version: 5.2.1RC2 New Comment:
So if one should write a daemon or anything else with a bit longer life span and/or heavy I/O, she'd better avoid using parsed expressions inside strings? Even though it's not a big deal, I still think it should be stated somewhere. Previous Comments: ------------------------------------------------------------------------ [2007-01-14 15:03:04] [EMAIL PROTECTED] The first loop creates temp vars and those are not freed until the script finished execution. ------------------------------------------------------------------------ [2007-01-13 18:33:52] [EMAIL PROTECTED] Description: ------------ I'm not sure whether this is intended behaviour, but variable parsing inside strings seem to allocate memory, which is not freed until script has been executed. Reproduce code: --------------- $foo = 'value'; echo "first loop\n"; for ($i = 0; $i < 10; $i++) { $bar = "foo: $foo"; echo memory_get_usage() . "\n"; } echo "second loop\n"; for ($i = 0; $i < 10; $i++) { $bar = 'foo: ' . $foo; echo memory_get_usage() . "\n"; } Expected result: ---------------- first loop 52280 52280 ... 52280 52280 second loop 52516 52516 ... 52516 52516 Actual result: -------------- first loop 52280 52304 52328 52352 52376 52400 52424 52448 52472 52496 second loop 52516 52516 ... 52516 52516 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=40122&edit=1