我有一个像
这样的全局变量<?PHP
function PrintVariable($str){
global ${"check" . $str} = "some value";
echo $checkmap;
}
PrintVariable('map');
但是我收到了这个错误:
解析错误:语法错误,意外'=',期待','或';'在第3行的C:\ wamp \ www \ PHP \ index.php
从代码中删除global
后,一切正常,但我必须在此函数中创建global
。
答案 0 :(得分:3)
php中没有组合“声明全局和赋值”语句 你必须分两步完成,例如
<?php
function foo($str) {
global ${"check" . $str};
${"check" . $str} = "some value";
}
foo('bar');
echo $checkbar;
...但你真正应该做的是:避免全局。
答案 1 :(得分:3)
使用“全局”关键字,您只能引用变量,而不能设置其值。
您的代码将是:
<?PHP
function PrintVariable($str){
global ${"check" . $str};
${"check" . $str} = "some value";
echo $checkmap; // outputs: some value
}
PrintVariable('map');
echo $checkmap; // outputs: some value
请参阅:
http://php.net/language.variables.scope
Configuration class - Get configuration array from the function string argument