これはPHPで動作することを意図していませんか?
<?php
function shout($mute="", $message="") {
echo $message;
}
shout($message = "Boo");
?>
これが悪い例であることは承知していますが、私の主張は理解できます。
これはPHPで動作することを意図していませんか?
<?php
function shout($mute="", $message="") {
echo $message;
}
shout($message = "Boo");
?>
これが悪い例であることは承知していますが、私の主張は理解できます。
いいえ、これは機能しません。関数のパラメーターの順序は厳密であり、操作できません。
これを行うことができます:
shout(null, 'Boo');
または、配列を受け入れるように関数をリファクタリングします。
function shout($args) {
echo $args['message'];
}
$args = array('message' => 'boo');
shout($args);
<?php
function shout($mute="", $message="") {
echo $message;
}
shout(null, "Boo"); //echo's "Boo"
?>
正しいパラメーターを正しい順序で渡す必要があります。
PHPでは、関数パラメータの受け渡しは従来通りですが、
このような関数定義があるとすると、このようfunction myfunc($arg='something or null' , $arg)
な関数の右側に定数を配置する必要があるため、これは間違った方法です。
function myfunc($arg, $arg='something or null'){}
関数を呼び出すときは、正しい引数を渡していることを確認してください。myfunc('test')
$ arg ='null'と記述した場合、nullは値であるのに対し、空の文字列は何もないため、関数呼び出しから何も渡す必要はありません。
だからあなたの場合、あなたはこのようにしなければなりませんfunction yourfunction('value1','value2')