#27278 [Opn->Ctl]: global variable changing type when passed to function by value...

From: Date: Mon, 16 Feb 2004 16:30:42 +0000
Subject: #27278 [Opn->Ctl]: global variable changing type when passed to function by value...
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-55008@lists.php.net to get a copy of this message
ID: 27278 Updated by: sniper@php.net Reported By: phpbug at billix dot franken dot de -Status: Open +Status: Critical Bug Type: Variables related -Operating System: Linux +Operating System: * -PHP Version: 4.3.5RC2 +PHP Version: 4CVS, 5CVS (2004-02-16) Previous Comments: ------------------------------------------------------------------------ [2004-02-16 09:35:01] phpbug at billix dot franken dot de Description: ------------ when I pass a variable of type string to a function (by value not by reference!) and modify the local parameter, the type of the global variable changes from string to int although the local variable is still a string! ./configure --disable-cgi --enable-cli No changes made to php-ini-dist This worked as expected in PHP 4.3.5RC1 and earlier. Reproduce code: --------------- function foo ( $a ) { print "foo(a)="; var_dump($a); print "GLOBALS['x']="; var_dump($GLOBALS["x"]); $a=sprintf("%02d",$a); print "GLOBALS['x']="; var_dump($GLOBALS["x"]); print "foo(a)="; var_dump($a); } print "PHP-Version:".phpversion()."\n"; $x="02"; print "x="; var_dump($x); foo($x); print "x="; var_dump($x); Expected result: ---------------- PHP-Version:4.3.5RC1 x=string(2) "02" foo(a)=string(2) "02" GLOBALS['x']=string(2) "02" GLOBALS['x']=string(2) "02" foo(a)=string(2) "02" x=string(2) "02" Actual result: -------------- PHP-Version:4.3.5RC2 x=string(2) "02" foo(a)=string(2) "02" GLOBALS['x']=string(2) "02" GLOBALS['x']=int(2) foo(a)=string(2) "02" x=int(2) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=27278&edit=1

« previous php.bugs (#55008) next »