0

まず、このプロセスの名前を思い出せませんが、次のようになります。

function test($alter = FALSE){
    //do stuff
    return $alter;
}

関数宣言で$alter=FALSEを正しくする

それは何と呼ばれていますか?これはどのように作動しますか?次の状況ではどうなりますか?

$ result = test();

$ result = test(TRUE);

4

4 に答える 4

4

FALSE他の値が渡されない場合のデフォルト値として定義されます。

あなたの例の場合、結果は(順番に)次のようになります。

FALSE
TRUE
于 2012-11-13T23:26:59.047 に答える
1
"<?php
echo"welcome";
function a($b=false){
echo"<br /> b: ".$b;
}


a(true);
a();
a("some text");
a(false);

?>結果:
ようこそ
b:1
b:
b:テキスト
b:
"

false / null / emptyの場合、何も出力されないようです。そのメソッドstring / booleanに何を渡しても、null/emptyでない限り出力されます。

于 2012-11-13T23:45:33.230 に答える
1

メソッドヘッダーで定義されたFALSEがデフォルト値です(呼び出し中にパラメーターに何も追加されていない場合)-test()それ以外の場合は、通常のパラメーターのように動作します。したがって、呼び出した場合、test(TRUE)値はTRUEになります。

于 2012-11-13T23:28:32.407 に答える
1

追加するものはありません:おそらく覚えているかもしれない用語は「関数のオーバーロード」ですが、これはこれの実際の具体化ではありません(PHPの「デフォルトパラメータ」はおそらく似ています

于 2012-11-13T23:32:43.443 に答える