我有一个函数,想将所有以$ lang_开头的全局变量声明为全局变量,因为到目前为止,我有这样的东西:
function {
global $lang_welcome;
global $lang_hello;
global $lang_footer;
...
}
但是我可以处理许多这样的变量,因此一一声明是不可能的。有任何解决方法吗?
答案 0 :(得分:0)
我不确定您要达到什么目的,但是如果所有变量都在函数外部声明,并且希望在内部访问它们,则可以执行以下操作:
function func(&$vars) {
foreach ($vars as $name => $var) {
if (strpos($name, 'lang') === 0) {
global ${$name};
}
}
echo $lang_a;
echo $lang_b;
}
$lang_a = 'lang_a';
$lang_b = 'lang_b';
$vars = get_defined_vars();
func($vars);
这是肮脏的方式,但我相信它可以为您提供目标。