0
static $searchQuery="nothing";

if ($searchQuery=="nothing")
{
    if ($referral=="")
    {
        $referral=referrer();
    }
    $searchQuery=getSearchQuery($referral);
}
return $searchQuery;

基本的に、 $searchQuery を何かで初期化する必要があります。

"" で初期化できますが、多くの場合、$searchQuery の値は合法的に "" です。

では、どのように初期化すればよいでしょうか。""? ゼロ?ヌル?配列()?何?

私も使える

static $result;
if  (isset($result))
{
    return $result;
}

$result が定義されていないため、警告が表示されました。

4

1 に答える 1

2

それはあなた次第ですが、PHP の緩い型付けには注意する必要があります。私は を好みNULL、そのコードを次のように記述します。

static $searchQuery = NULL;

if( is_null($searchQuery) ) {
    if( emtpy($referral) ) {
        $referral=referrer();
    }
    $searchQuery=getSearchQuery($referral);
}
return $searchQuery;
于 2013-01-18T17:00:51.267 に答える