我有一个像
这样的全局变量<?PHP
function PrintVariable($str){
global ${"check" . $str} = "some value";
echo $checkmap;
}
PrintVariable('map');
但是我得到这个错误:
解析错误:语法错误,unexpected '=', expected ','或';' in C:'wamp'www'PHP'index.php on line 3
从代码中删除global
后,一切工作正常,但我必须在此函数中创建global
。
php中没有声明全局和赋值语句。
你必须分两步完成,例如
<?php
function foo($str) {
global ${"check" . $str};
${"check" . $str} = "some value";
}
foo('bar');
echo $checkbar;
…但是你真正应该做的是:避免全局变量
使用"global"关键字,你只能引用一个变量,不能设置它的值。
你的代码应该是:
<?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配置类-从函数字符串参数