PHP类和函数可选参数

时间:2012-05-22 14:51:13

标签: php

这不适用于PHP吗?

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

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

我知道这是一个很糟糕的例子,但它引起了我的观点。

3 个答案:

答案 0 :(得分:2)

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

你可以这样做:

shout(null, 'Boo');

或重新考虑您的函数以接受数组:

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

$args = array('message' => 'boo');
shout($args);

答案 1 :(得分:1)

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

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

您必须按正确的顺序传递正确的参数。

答案 2 :(得分: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')