2017-07-03 26 views
-2

いくつかの継承された作業ではコードブロックがあります。それはokを実行しているように見えますが、私はそれがまだこの特定の関数を呼び出す必要はないと考えています。文法チェッカーを通してそれを実行式の結果にisset()を使用することはできません

function has($key) 
{ 
    if (isset($this) && get_class($this)) { 
     $obj = $key; 
    } 

    if (isset($this) && get_class($this)) { 
     $obj = &JSW_Request::getInstance(); 
    } 

    return isset(isset($this) && get_class($this)[$key]); 
} 

は、それが次のエラーを報告し

致命的なエラー:(「!ヌル==表現」を使用することができます代わりに)式の結果にISSET()を使用することはできません

これは私が修正案は、正直に言うと、コードの行には何か関係することはできませんので、私は少し迷ってしまいましたコード行

return isset(isset($this) && get_class($this)[$key]); 

に関連しています。助言がありますか?次のように

+0

何である '$ this'あなたのコードに???あなたの関数はクラスの一部ではないようです。あなたは 'if(null!== $ this)'を試しましたか????通知するコード/コンテキストが不十分です。 – AbraCadaver

+0

'isset($ this)'では、 'true'または' false'を返す 'isset($ this)'を実行してから 'true'または' false'に 'isset()'を実行すると、 – AbraCadaver

+0

あなたは変数を 'isset'または' empty'に渡すことしか許されません。 '$ this'は確かに内部の' isset'を作る変数ですが、あなたは 'isset($ this)&& get_class( $ this)[$ key] 'を外部の' isset'に渡します。これは式なので、エラーは – chiliNUT

答えて

0

ではなくissetnullチェックを使用してみてください:

if($var !== null){ 
// your block of code 
} 
関連する問題