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 に答える