如何在PHP中将变量放入调用范围


How to put variables into calling scope in PHP?

内置的PHP函数parse_str($str)解析查询字符串,并将其中的变量设置到当前范围中。有没有什么方法可以让我创建自己的函数来执行类似的操作并将值返回到调用方的作用域?

示例:

function checkset()
{
    global $inputs;
    for( $counter = 0, $varname = func_get_arg($counter), $counter++)
    {
        if(isset($inputs[$varname]))
        {
            calling_scope( $varname, $inputs[$varname] );
        }
    }
    return;
}

其中calling_scope($varname,$value)将是一个函数,它将函数调用范围中的$$varname设置为$value。感谢您的帮助。

不能将变量注入调用范围。但是,可以使用extract将关联数组中的键/值转换为本地范围中的变量。这可能是你将要得到的最接近的。

function checkset() {
  return array('name' => 'bob', 'age' => 45);
}
extract(checkset());
echo $name; // bob
echo $age;  // 45