1

这不是要在 PHP 中工作吗?

<?php
function shout($mute="", $message="") {
    echo $message;
}

shout($message = "Boo");
?>

我知道这是一个糟糕的例子,但它明白了我的意思。

4

3 回答 3

2

不,这不起作用,函数参数顺序是严格的,不能被操纵。

您可以这样做:

shout(null, 'Boo');

或者重构你的函数来接受一个数组:

function shout($args) {
    echo $args['message'];
}

$args = array('message' => 'boo');
shout($args);
于 2012-05-22T14:54:13.353 回答
1
<?php
function shout($mute="", $message="") {
    echo $message;
}

shout(null, "Boo"); //echo's "Boo"
?>

您必须以正确的顺序传入正确的参数。

于 2012-05-22T14:53:20.500 回答
0

在php中传递函数参数是常规的,

假设您有这样的函数定义,function myfunc($arg='something or null' , $arg)这是错误的方法,因为我们必须像这样将常量放在函数的右侧

function myfunc($arg, $arg='something or null'){}

当您调用函数时,请确保您传递了正确的参数,即myfunc('test')

如果你描述了 $arg='null' 那么你不需要从你的函数调用中传递任何东西,因为 null 是一个值,而空字符串什么都不是。

所以在你的情况下你必须这样做function yourfunction('value1','value2')

于 2012-05-22T15:04:14.877 回答