From: Operating system: Ubuntu 10.04 beta 2 PHP version: 5.3.2 Package: Unknown/Other Function Bug Type: Bug Bug description:No warnings reported when invalidly adding automatically indexed array element
Description: ------------ When an object with a __set() method has its non-existent array containing variable set by empty bracket syntax, it just creates a new object variable for the array, as if __set() weren't even there. Test script: --------------- <?php class Foo { public $_vars = array(); public function __set($var, $value) { $this->_vars[$var] = $value; } } $foo = new Foo; $foo->bar[] = 'value'; var_dump($foo); ?> Expected result: ---------------- __set() method called object(Foo)#1 (1) { ["_vars"]=> array(1) { ["bar"]=> array(1) { [0]=> string(5) "value" } } } OR <br /> <b>Fatal error</b>: Cannot use [] for reading in <b>/home/amcsi/htdocs/lol.php</b> on line <b>11</b><br /> Actual result: -------------- object(Foo)#1 (2) { ["_vars"]=> array(0) { } ["bar"]=> array(1) { [0]=> string(5) "value" } } -- Edit bug report at http://bugs.php.net/bug.php?id=51591&edit=1 -- Try a snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=51591&r=trysnapshot52 Try a snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=51591&r=trysnapshot53 Try a snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=51591&r=trysnapshot60 Fixed in SVN: http://bugs.php.net/fix.php?id=51591&r=fixed Fixed in SVN and need be documented: http://bugs.php.net/fix.php?id=51591&r=needdocs Fixed in release: http://bugs.php.net/fix.php?id=51591&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=51591&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=51591&r=needscript Try newer version: http://bugs.php.net/fix.php?id=51591&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=51591&r=support Expected behavior: http://bugs.php.net/fix.php?id=51591&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=51591&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=51591&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=51591&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=51591&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=51591&r=dst IIS Stability: http://bugs.php.net/fix.php?id=51591&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=51591&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=51591&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=51591&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=51591&r=mysqlcfg