是否可以在php中传递myfunction($ var1 ="hi")等变量?

Kri*_*rph 2 php variables function

在PHP中,是否有可能将变量传递给这样的函数:

function myfunction($var1="bar", $var2="foo"){
echo $var1 . $var2; 
}

myfunction($var2="bar");
Run Code Online (Sandbox Code Playgroud)

并获得以下输出:barbar?

关心Kristoffer

Bol*_*ock 8

不,PHP不支持命名参数.

另一种方法是传递一个关联的参数数组,并对一组默认值进行比较/合并.Clunky,但在一些库和框架中工作并且是一种非常常见的模式:

function myfunction($args = array()) {
    $defaults = array('var1' => 'bar', 'var2' => 'foo');
    extract(array_merge($defaults, $args));
    echo $var1 . $var2; 
}

myfunction(array('var2' => 'bar'));
Run Code Online (Sandbox Code Playgroud)