#31114 [Asn]: foreach modify array

From: Date: Tue, 17 May 2005 10:01:50 +0000
Subject: #31114 [Asn]: foreach modify array
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-79083@lists.php.net to get a copy of this message
 ID:               31114
 Updated by:       sniper@php.net
 Reported By:      clemens at gutweiler dot net
 Status:           Assigned
 Bug Type:         Arrays related
 Operating System: Linux 2.4.27
 PHP Version:      4.3.10
 Assigned To:      andi
 New Comment:

Works fine in PHP 5..



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

[2004-12-16 22:32:14] derick@php.net

I just tested this on PHP 4.3.1 and 4.3.2 and it behaves in the same
way, making this a non-critical bug and not related to the foreach
speed-up patch. Assigning to Andi, as he might have a clue why this
happens. The new foreach code is definitely not the problem here.

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

[2004-12-16 13:07:17] derick@php.net

(The only bug here is that it doesn't give a warning, using $k for both
key and value is not supposed to work!)

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

[2004-12-16 11:41:54] derick@php.net

I don't think this was ever supposed to work. 

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

[2004-12-16 10:44:05] clemens at gutweiler dot net

Description:
------------
foreach modifies an array, if key and value are the same variable.

see reproduction code.

Reproduce code:
---------------
<?php
$foo = array( 'foo' => 'bar', 'dings' => 'dongs' );
foreach( $foo as $k => $k ) {}
var_dump( $foo );
?>
array(2) {
  ["foo"]=>
  string(5) "dings"
  ["dings"]=>
  NULL
}


Expected result:
----------------
array(2) {
  ["foo"]=>
  string(3) "bar"
  ["dings"]=>
  string(5) "dongs"
}




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


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


Thread (17 messages)

« previous php.bugs (#79083) next »