1

PHP にはextract、配列を取り、データを PHP 変数に変換する という関数があります。この関数は、変数をインクルードに送信する必要がある場合に非常に便利です。元。

    extract(array( "test" => 123 ));
    require "test.php"

だからtest.php :print($test); 戻り値:123

関数でも同じことをする必要があります(知らないかもしれません)。usePHP 5.4 は( Anonymous Function )をサポートしており、これは非常に興味深いものです。元。

$test = 123;
call_user_func(function() use($test) {
    print($test);
});

ただし、変数を他の名前と量で渡す必要があります。次のようなもの

$useArgs = array( "a" => 1, "b" => 2, "c" => 3 );
call_user_func(function() use(extract($useArgs)) {
    print($a);
    print($b);
    print($c);

    if(isset($d)) {
        print($d);
    }
});

これはどのように可能ですか?

4

1 に答える 1

2

extract()関数内から呼び出すだけです

$useArgs = array( "a" => 1, "b" => 2, "c" => 3 );
call_user_func(function() use($useArgs) {
    extract($useArgs);
    print($a);
    print($b);
    print($c);

    if(isset($d)) {
        print($d);
    }
});
于 2013-07-15T01:11:38.950 に答える