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

Reply via email to