ID:               32334
 Updated by:       [EMAIL PROTECTED]
 Reported By:      mk at peytz dot dk
-Status:           Feedback
+Status:           No Feedback
 Bug Type:         Zend Engine 2 problem
 Operating System: Linux
 PHP Version:      5CVS-200503190530
 New Comment:

No feedback was provided. The bug is being suspended because
we assume that you are no longer experiencing the problem.
If this is not the case and you are able to provide the
information that was requested earlier, please do so and
change the status of the bug back to "Open". Thank you.




Previous Comments:
------------------------------------------------------------------------

[2005-03-19 12:38:36] [EMAIL PROTECTED]

Can't reproduce *your* behaviour with latest 5.0.x & 5.1 CVS.
But some issue really exists, as I get NULL instead of 'b' with both
branches.


------------------------------------------------------------------------

[2005-03-19 07:44:07] mk at peytz dot dk

But the problem persist with the CVS snapshot (which now compiles
again).

------------------------------------------------------------------------

[2005-03-18 19:23:13] [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



------------------------------------------------------------------------

[2005-03-16 13:29:45] mk at peytz dot dk

Description:
------------
When setting variable variable values on a instance of a class with an
overloading __set function changing another instance variable goes
wrong.

(I'm reporting it for version 5.0.3 because the current cvs snapshot
would not compile.)

Reproduce code:
---------------
http://dev.peytz.dk/~mk/setter.php
<?php
class Setter
{
    private $_fields = array(); // the data fields
    private $_changedFields = array(); // list of changed fields

    function __set($name, $value)
    {
        // set value
        $this->_fields[$name] = $value;
        // add to list of changed fields
        $this->_changedFields[] = $name;
    }
}
$foo = new Setter;
$foo->a = 1;
$var = "b";
$foo->$var = 2;
var_export($foo);
?>

Expected result:
----------------
class Setter {
  private $_fields = 
  array (
    'a' => 1,
    'b' => 2,
  );
  private $_changedFields = 
  array (
    0 => 'a',
    1 => 'b',
  );
}

Actual result:
--------------
class Setter {
  private $_fields = 
  array (
    'a' => 1,
    'b' => 2,
  );
  private $_changedFields = 
  array (
    0 => 'a',
    1 => '���',
  );
}


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=32334&edit=1

Reply via email to