2012-03-09 15 views
1

申し訳ありませんが、これは非常に簡単な質問ですが、私はここで検索し、Googleを無駄にしないようにしました。PHPで関数の引数として使用される変数代入は何を意味しますか?

私は、関数の引数としての変数の代入がPHPで何をするのだろうかと思います。具体的には、私はCodeIgniterのドキュメントで、この例を見つけました:基本的に

public function get_news($slug = FALSE) 
{ 
    if ($slug === FALSE) 
    { 
     $query = $this->db->get('news'); 
     return $query->result_array(); 
    } 

    $query = $this->db->get_where('news', array('slug' => $slug)); 
    return $query->row_array(); 
} 

、これは引数を持つコントローラ「ニュース」へのすべての要求を取るとするDBを照会することになっているコントローラクラスのメソッドですその引数に一致するスラッグを持つニュース項目が存在するかどうかを確認してください。

私の推測では、メソッドへの実際の「スラッグ」引数は、値が関数に渡される前にFALSE値がすぐに上書きされていることを、ユーザに渡されている場合、これは、その後FALSEに変数$slugを初期化しますが、ということですが、私はこれに関する情報をどこにも見つけることができません。

ありがとうございました!

+2

あなたの推測は正しいです! [例3のデフォルトの引数値](http://php.net/manual/en/functions.arguments.php)。乾杯。 – Josh

+0

私はそれほど多くのことを考え出しましたが、そのように機能しますが、あなたが探しているものが分かっていない場合は、何を探すべきかを知るのは難しいですか? "デフォルトの引数値"は、振り返って明らかなGoogle検索のようです。 – itsmequinn

答えて

3

http://php.net/manual/en/functions.arguments.php

機能は、C++を定義することができ - スカラー引数のスタイルのデフォルト値を は次のように:

を何も渡されなかった場合は、変数を引数に設定されているものにデフォルト設定され、 C++のように。 引数に値を指定しないと、定義したデフォルトが使用されます。 引数に渡す値はすべて、デフォルトの引数よりも優先されます。

+0

私はそれが自分自身で情報を見つけたはずだと思うので、私はこの答えを受け入れています...ありがとう – itsmequinn

1

あなたはそのパラメータにデフォルト値を割り当てています。値なしでメソッドを呼び出す場合は、$ slugのデフォルト値としてFALSEが仮定されます。

0

この例では、$ slugにはデフォルト値が与えられています。あなたがそれを変更しなければ、最初にスラッグなしでニュースを問い合わせるif()が入ります。引数として何かを置くと、スラッグをパラメータとして使用して2番目のクエリに入ります。

関連する問題