ID: 33931 Comment by: matt at matttoddphoto dot com Reported By: wkonkel at gmail dot com Status: No Feedback Bug Type: Scripting Engine problem Operating System: * PHP Version: 5CVS-2005-08-19 Assigned To: dmitry New Comment:
I have had the same problem. This is terrible in the sense that I'd love to have this work, yet it doesn't. Shame. When I have: class Response { private $collection; public function __set($name, $value) { $this->collection[$name] = $value; } public function __get($name) { return $this->collection[$name]; } } The following does not assign anything but empty array()s into the private $collection property. For instance (which is called from within another class, hence the $this reference): foreach($posts as $post) { $this->response->posts[$post['id']] = $post; } Now, print_r($this->response->posts); will output: Array(); N.B. -- I had not noticed the bizarre activity with the properties reappearing in sequence immediately. In fact, I couldn't explain the bizarre behavior for two separate, nearly-identical loops like this one resulted in all of the data in the final of the two. Now I understand why it was combining the two. Bizarre indeed! Previous Comments: ------------------------------------------------------------------------ [2005-09-24 01:00:03] php-bugs at lists dot php dot net No feedback was provided for this bug for over a week, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open". ------------------------------------------------------------------------ [2005-09-17 00:48:23] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php5-latest.tar.gz For Windows: http://snaps.php.net/win32/php5-win32-latest.zip I'm unable to replicate it anymore. ------------------------------------------------------------------------ [2005-08-01 09:51:38] [EMAIL PROTECTED] Dmitry, could you check it plz ? ------------------------------------------------------------------------ [2005-07-31 20:01:33] [EMAIL PROTECTED] And this with Sean's code: PHP Notice: Undefined property: A::$foo in /home/jani/t.php on line 8 Notice: Undefined property: A::$foo in /home/jani/t.php on line 8 PHP Notice: Undefined property: A::$foo in /home/jani/t.php on line 9 Notice: Undefined property: A::$foo in /home/jani/t.php on line 9 PHP Notice: Undefined variable: undefined in /home/jani/t.php on line 10 Notice: Undefined variable: undefined in /home/jani/t.php on line 10 NULL array(2) { ["bar1"]=> string(5) "oink1" [0]=> string(4) "blah" } /usr/src/php/php5/Zend/zend_variables.h(45) : Freeing 0x088ED84C (6 bytes), script=t.php /usr/src/php/php5/Zend/zend_variables.c(120) : Actual location (location was relayed) Last leak repeated 1 time /usr/src/php/php5/Zend/zend_execute.c(798) : Freeing 0x088ED80C (16 bytes), script=t.php Last leak repeated 1 time /usr/src/php/php5/Zend/zend_hash.c(242) : Freeing 0x088ED7B4 (40 bytes), script=t.php Last leak repeated 1 time /usr/src/php/php5/Zend/zend_execute.c(1031) : Freeing 0x088ED754 (44 bytes), script=t.php /usr/src/php/php5/Zend/zend_API.c(712) : Actual location (location was relayed) Last leak repeated 3 times /usr/src/php/php5/Zend/zend_execute.c(1028) : Freeing 0x088DE7CC (16 bytes), script=t.php === Total 11 memory leaks detected === ------------------------------------------------------------------------ [2005-07-31 20:00:32] [EMAIL PROTECTED] Output with CVS HEAD: Array ( [foo2] => bar2 [foo3] => bar3 [0] => blah ) /usr/src/php/php5/Zend/zend_hash.c(242) : Freeing 0x088EF6FC (40 bytes), script=t.php Last leak repeated 2 times /usr/src/php/php5/Zend/zend_variables.h(45) : Freeing 0x088EF664 (5 bytes), script=t.php /usr/src/php/php5/Zend/zend_variables.c(120) : Actual location (location was relayed) Last leak repeated 2 times /usr/src/php/php5/Zend/zend_execute.c(798) : Freeing 0x088EF624 (16 bytes), script=t.php Last leak repeated 2 times /usr/src/php/php5/Zend/zend_execute.c(1031) : Freeing 0x088EF56C (44 bytes), script=t.php /usr/src/php/php5/Zend/zend_API.c(712) : Actual location (location was relayed) Last leak repeated 3 times /usr/src/php/php5/Zend/zend_execute.c(1028) : Freeing 0x088DE7CC (16 bytes), script=t.php === Total 14 memory leaks detected === ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/33931 -- Edit this bug report at http://bugs.php.net/?id=33931&edit=1