ID: 41169 Updated by: [EMAIL PROTECTED] Reported By: mobile-g at softhome dot net -Status: Assigned +Status: Wont fix Bug Type: Scripting Engine problem Operating System: Red Hat PHP Version: 4.4.6 Assigned To: derick
Previous Comments: ------------------------------------------------------------------------ [2007-04-23 09:20:11] [EMAIL PROTECTED] Assigned to the maintainer. ------------------------------------------------------------------------ [2007-04-23 05:03:38] judas dot iscariote at gmail dot com <?php class foo { var $myArray = Array(); function foo() { foreach($this->myArray['value'] as $value){ } var_dump($this->myArray); } } $foo = new Foo(); produces the behaviuor you describe with PHP4 array(1) { ["value"]=> NULL } PHP5 works as expected. My suggestion for the reporter is to upgrade to PHP5 ASAP, you shouldnt be using PHP4 nowdays anyway. ------------------------------------------------------------------------ [2007-04-23 04:38:56] mobile-g at softhome dot net var $myArray = Array(); foreach($this -> mayArray['value'] as $value){ $myVAR += $value; //changed this line } actually it isn't asssigning to itself... this version is correct. ------------------------------------------------------------------------ [2007-04-23 04:36:57] mobile-g at softhome dot net Description: ------------ running a foreach loop on an empty array causes the test key to be created. Note this code has been pulled from a class, I have kept this structure in case that has relevance. Reproduce code: --------------- var $myArray = Array(); foreach($this -> mayArray['value'] as $value){ $myArray += $value; } Expected result: ---------------- Ideally the loop wouldn't run, or would error when trying to locate a none existant key. Actual result: -------------- myArray() has an empty key called "value" added to it. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=41169&edit=1