#29702 [Bgs->Opn]: $a=$GLOBALS works as $a=&$GLOBALS
| From: | andrea dot busia at axis-sv dot it | Date: | Mon, 16 Aug 2004 12:43:46 +0000 |
| Subject: | #29702 [Bgs->Opn]: $a=$GLOBALS works as $a=&$GLOBALS | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-64705@lists.php.net to get a copy of this message | ||
ID: 29702
User updated by: andrea dot busia at axis-sv dot it
Reported By: andrea dot busia at axis-sv dot it
-Status: Bogus
+Status: Open
Bug Type: Scripting Engine problem
Operating System: Win / Linux
PHP Version: 5.0.1
New Comment:
I see the manual page but I don't see anywhere that I cannot COPY
$GLOBALS content to an other variable.
Andrea Busia
Previous Comments:
------------------------------------------------------------------------
[2004-08-16 14:33:31] derick@php.net
http://no2.php.net/reserved.variables
read the section on $GLOBALS
------------------------------------------------------------------------
[2004-08-16 12:28:03] andrea dot busia at axis-sv dot it
BTW:
Even if I try to use array_diff_assoc to have a "COPY" of $GLOBALS the
script gives me the same result.
I thing this is a very big problem without a "array_copy" function.
I tried:
<?
$xml=array("aaa", "bbb", "ccc");
foo();
function foo() {
var_dump($GLOBALS["xml"]);
$ar=array_diff_assoc($GLOBALS, array());
unset($ar['xml']);
var_dump($GLOBALS["xml"]);
}
?>
------------------------------------------------------------------------
[2004-08-16 12:19:58] andrea dot busia at axis-sv dot it
Is it documented? I didn't find this in the manual, probably this is a
documentation problem.
------------------------------------------------------------------------
[2004-08-16 12:02:05] derick@php.net
Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to
report
a bug at http://bugs.php.net/how-to-report.php
This is a feature.
------------------------------------------------------------------------
[2004-08-16 11:45:17] andrea dot busia at axis-sv dot it
Description:
------------
In this script seems that the $GLOBALS value is changed by the unset
statement but I want to modify $ar, $GLOBALS must remain the same as
before.
Reproduce code:
---------------
<?
$xml=array("aaa", "bbb", "ccc");
foo();
function foo() {
var_dump($GLOBALS["xml"]);
$ar=$GLOBALS;
unset($ar['xml']);
var_dump($GLOBALS["xml"]);
}
?>
Expected result:
----------------
array(3) {
[0]=>
string(3) "aaa"
[1]=>
string(3) "bbb"
[2]=>
string(3) "ccc"
}
array(3) {
[0]=>
string(3) "aaa"
[1]=>
string(3) "bbb"
[2]=>
string(3) "ccc"
}
Actual result:
--------------
array(3) {
[0]=>
string(3) "aaa"
[1]=>
string(3) "bbb"
[2]=>
string(3) "ccc"
}
NULL
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=29702&edit=1