Bug #10801: Variable Variables and Constants
| From: | mstearne at entermix dot com | Date: | Thu, 10 May 2001 22:11:18 +0000 |
| Subject: | Bug #10801: Variable Variables and Constants | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-54799@lists.php.net to get a copy of this message | ||
From: mstearne@entermix.com
Operating system: Linux 2.2
PHP version: 4.0.4
PHP Bug Type: Variables related
Bug description: Variable Variables and Constants
Variable variables techniques do not work when one of the
"variables" is a constant. The example below illustrates
this. This is probably the desired behavior for constants,
but was confusing for me when I was trying to figure it out.
The alternative I used was to add the variables I needed to
the $GLOBALS array instead of defining them as constants.
<?php
define("DB_X_NAME","database1");
define("DB_Y_NAME","database2");
$DB_Z_NAME="database3";
function connectTo($databaseName){
global $DB_Z_NAME;
$fullDatabaseName="DB_".$databaseName."_NAME";
return "\"".${$fullDatabaseName}."\"";
}
print "DB_X_NAME is ".connectTo("X")."
";
print "DB_Y_NAME is ".connectTo("Y")."
";
print "DB_Z_NAME is ".connectTo("Z")."
";
?>
--
Edit Bug report at: http://bugs.php.net/?id=10801&edit=1