2012-02-26 11 views
-1
function test($param=null) { 
    if ($param===null) 
     ..... 
} 

$ paramは関数ヘッダでnullに設定されているので、$ param === nullならテストするのはなぜですか? $ paramがnullでない場合がありますか?PHP関数のパラメータが不明です

+0

パラメータが関数呼び出しで渡されることがあります。行くフィギュア –

答えて

2

$ paramが関数ヘッダーでnullに設定されているため、$ param === nullの場合、 をテストするのはなぜですか?ケース$ paramがnullでない場合は?あなたはそれにnullのデフォルト値を定義するためオプション引数である

を確認する理由は、実際にはnullでないパラメータが指定されていることを確認したいことです。

はあなたがechoにそれを望んでいたと仮定しましょう:

function test($param=null) { 
    echo $param; 
} 

関数を呼び出すとき、何が起こるんだろうとあなたが正しい、ということを行うにはしたくありません。そのため、引数の値がnullでないことを確認して、好きなように操作できるようにしたいとします。

テスト:値が関数に渡されていない場合

function test($param=null) { 
    echo $param; 
} 

test(); // no output 
test('hello there'); // output: hello there 
1

$paramはnullになります。これはoptional parametersの例です。

あなたは、オプション/ default argumentある値

test(10); //$param inside the method will be 10; 
test(); //$param will be null 
2

を渡すことによって機能を呼び出すことができます。

あなたは、その関数を呼び出した場合、その後、あなたはそれの2つの方法の1呼び出すことができます。

test($value); 

または最初のケースで

test(); 

$param$valueの値を保持します。 2番目のケースでは、 $paramは常に nullです。

0

$ param = nullは、デフォルトの変数のみです。関数が変数で呼び出されたときに上書きされます。

あなたは$ paramは関数内で 'にnotnull' を等しくなります

$helloworld = test('notnull'); 

を使用して関数を呼び出す場合。

0

ケースの$ paramがnullのではないでしょう。この場合

test("ok"); 

は、$ PARAM = "OK"。

関連する問題