#40509 [Asn]: key() function changed behaviour if global array is used within function
| From: | dmitry@php.net | Date: | Tue, 06 Mar 2007 13:19:33 +0000 |
| Subject: | #40509 [Asn]: key() function changed behaviour if global array is used within function | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-109990@lists.php.net to get a copy of this message | ||
ID: 40509
Updated by: dmitry@php.net
Reported By: alex dot killing at gmx dot de
Status: Assigned
Bug Type: Arrays related
Operating System: MaxOsX/RedHat
PHP Version: 5.2.1
Assigned To: dmitry
New Comment:
see also http://bugs.php.net/bug.php?id=40705
Previous Comments:
------------------------------------------------------------------------
[2007-02-16 15:24:36] alex dot killing at gmx dot de
Description:
------------
If a global array is assigned to a local variable as in the example,
and the local variable is iterated afterwards, the key() function
changed the behaviour in the global scope with PHP 5.2.1.
Reproduce code:
---------------
<?php
function foo()
{
global $arr;
$c = $arr["v"];
foreach ($c as $v) {}
}
$arr["v"] = array("a");
echo "-".key($arr["v"])."-"; // prints "0"
foo();
echo "<br/>-".key($arr["v"])."-"; // prints "" since
5.2.1 ("0" on all
prior versions)
?>
Expected result:
----------------
-0-
-0-
Actual result:
--------------
-0-
--
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=40509&edit=1