Bug #12533 [Com]: Reference and global keyword don't work as documented

From: Date: Tue, 09 Nov 2010 22:13:35 +0000
Subject: Bug #12533 [Com]: Reference and global keyword don't work as documented
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-155900@lists.php.net to get a copy of this message
Edit report at http://bugs.php.net/bug.php?id=12533&edit=1 ID: 12533 Comment by: magister99 at hotmail dot com Reported by: pmateesc at dynasty dot com Summary: Reference and global keyword don't work as documented Status: Bogus Type: Bug Package: Scripting Engine problem Operating System: W2k, Linux PHP Version: 4.0.6 Block user comment: N New Comment: Hi! What is posted in the manual does not work as expected: class DTO { public $msgs = "ergegefr"; public $a = 1; public $b = 2; function Insert(){ global $msgsb, $a, $b; $b = $a + $b; print $msgs; //Prints nothing print $b; //Prints 0 } } Previous Comments: ------------------------------------------------------------------------ [2001-12-14 14:37:42] yohgaki@php.net This is explained in the Manual. Please ask support question to php-general. Note: Reference is not a pointer. This is confiuing, but it will not be fixed. ------------------------------------------------------------------------ [2001-08-02 10:26:44] pmateesc at dynasty dot com <? $a = 1; $b = 2; function Sum() { global $a, $b; $b = &$a; } echo "a=$a b=$b"; ?> I expect echo to output "a=1 b=1" since within Sum I set the variable $b (which refers to global $b) as a reference to $a. However, this works using $GLOBALS instead of the keyword global. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/bug.php?id=12533&edit=1

« previous php.bugs (#155900) next »