0

重複の可能性:
is_null($x) vs $x === PHP の null

次のコンテキスト!== nullでは!is_null()isset()すべてが同じ結果を生成します。

$foo = null;

function foo() {
    if ($this->foo !== null) {
        ...
    }
    if (!is_null($this->foo)) {
        ...
    }
    if (isset($this->foo)) {
        ...
    }
}

どれが最も速く、そのコンテキストでどれをお勧めしますか?

4

4 に答える 4

2

変数が存在するかどうかわからない場合は、を使用してissetください。

例:

$content = (isset($_POST['content'])) ? $_POST['content'] : null;

それ以外の場合は、nullとの厳密な比較を使用します。

if ($content === null) { }

(実際、厳密な比較であなたの意見を押し付けています。is_nullよりも見栄えが良く、おそらく非常に少し速いと思います。)

于 2012-11-15T09:27:50.867 に答える
1

isset変数が設定されていない可能性がある場合にのみ使用してください。つまり、この時点で変数が存在するかどうかがわからない場合です。この時点で存在する必要があることはわかっているので、を使用しないでくださいisset

!== nullとの違い!is_nullはごくわずかであり、ほとんどの場合、好みによって異なります。個人的には好き!== nullです。

于 2012-11-15T09:27:39.523 に答える
0
if ($this->foo !== null) {
      //...
}

私はこの状態を好みます。

于 2012-11-15T09:28:12.290 に答える
0

私によると

  if($this->foo!=""){

//... }

これは最も速いものであり、すぐに結果を生成します

于 2012-11-15T09:57:23.127 に答える