1

一方は他方よりも読みやすいですか?最初はこのfalse ===アプローチが嫌いでしたが、だんだんと目にするようになり、慣れてきました。私は彼らが同じ結果を返すと確信しています。

4

3 に答える 3

7

機能的な違いはまったくありません。

私は通常、変数を最初に配置し、定数値を2 番目に配置することを好みます。それは理にかなっているからです(大声で話すとき、「変数が偽であることをテストします」と言うでしょうか?または「偽が変数と等しいことをテストします」と言うでしょうか?)

于 2012-11-04T19:35:23.000 に答える
6

私は大いに好む

false === $var

つまり、アイデンティティを求めずに平等だけを使用している場合があるためです。

その場合、あなたは書きます

false == $var

しかし、あなたはゲームのトップにいるわけではなく、

false = $var

すぐにエラーが発生するので、すぐに修正しましょう。

ただし、入力すると

$var = false

スクリプトが正しく機能しない理由を突き止めようとして、1 時間も頭を壁にぶつけることになります。

于 2012-11-04T19:39:57.053 に答える
2

私よりもはるかに優れたソフトウェアエンジニアがこれについて教えてくれました。簡単に言うと、最初は奇妙に見えるかもしれませんが、最初に定数を配置するのがベスト プラクティスです。最も予測可能な結果が得られるため、これがベスト プラクティスであると言えます。

$var = null;

if (false === $var) {   // NullPointerException is not thrown; only evaluates to "true" if the value "false" was assigned to $var
    ...
}

if ($var === false {    // NullPointerException will be thrown
    ...
}

if (false = $var) {     // Parse Error
    ...
}

if ($var = false) {     // the value false is assigned to $var
    ...
}
于 2012-11-04T19:41:21.120 に答える