0

内置的 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。任何帮助表示赞赏。

4

1 回答 1

1

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

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

extract(checkset());
echo $name; // bob
echo $age;  // 45
于 2012-09-01T03:10:13.737 回答