是否可以将函数作为另一个函数参数传递?

时间:2018-05-16 06:54:03

标签: php function

这是page1.php

function config($key): ?string 
{
    $arr = ["protocol" => "https",
            "port"     => "80",
            "website"  => "wwww.example.com"];
    return array_key_exists($key, $arr) ? $arr[$key] : null;
}

这是page2.php

function ckeckDomain($protocol, $port, $website, $user_role): bool
{
    if ( $user_role === "admin" ){
        // we need $protocol, $port and $website here 
    }
}

这是page3.php

 require "page1.php";
 require "page2.php";

 if ( checkDomain(config("protocol"), config("port"), config("website"), $_SESSION["user_role"]) ){
    // do stuff
 }

好的,正如您所看到的,我必须将config("protocol")config("port")config("website")个参数分别传递给checkDomain函数。现在我想知道是否可以将config函数传递给checkDomain,然后将config函数调用到checkDomain函数范围?

这样的事情:

if ( checkDomain( /* config function */, $_SESSION["user_role"] ) ) {
    // do stuff
}

0 个答案:

没有答案