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 に答える