0

これは ADO DB のコードです。ご覧のとおりfalse、変数に割り当てられています$false

    $false = false;

    if ($rows === false) {  
        return $false;
    }


    if (!class_exists($class)) {
        $db->outp_throw("Unknown class $class in GetActiveRecordsClass()",'GetActiveRecordsClass');
        return $false;
    }

なぜ彼らはそうするのですか?

私の質問に「主に意見に基づく」というフラグを立てた人へ:私はこれを行う「プログラミング」の理由を探しているだけです。私は経験豊富なプログラマーではなく、PHP について多くのことを知りません。

たとえば、FALSEがオブジェクトであり、それを変数に代入してその値を保存すると、PHPがメモリ内にスペースを作成し、何度も再利用できるようにする方法はありますか. 一部の言語では「ブール値」がオブジェクトであると聞いたことがあります。(Python、Ruby など...)

そして$false = false;、ある種の最適化か何かになるようにしています。

4

3 に答える 3

4

いいえ、メリットはありません。

初心者のプログラマーは、理由もなくコードを過度に複雑にすることがよくあります。
ほとんどの場合、そうです。

「カーゴ カルト プログラマー」は、理解ではなく例によって学習するため、奇妙な習慣や迷信を自分たちの間で発達させることがよくあります。PHP ユーザーは、特にこの習慣に陥りがちです。たとえば、配列値へのアクセスの失敗は非常に頻繁に見られます。

$array['$key'];

配列構文の一部として引用符を使用したためです。また、include その後に 1 対の中かっこが続きますが、ほぼどこにでもあります。

別の素晴らしい例は、mysql_real_escape_stringmysqli(!) 準備済みステートメントで使用されます。

だから、私はこれが同じ種類のものであると確信しています。変数のみを返すことができるという信念があるとします。つまり、変数を作成する目的は、返すことだけです。

于 2013-08-16T12:48:10.250 に答える
2

私の頭に浮かぶ唯一のことは、$false = false;この関数がブール値 false とは異なる値を返すようにしたい場合は、を他の代入に置き換えることができるということです(たとえば、文字列を返すようにしたい場合は、'error'そうします$false = 'error';

それはばかげた考えですが。

于 2013-08-16T12:51:16.983 に答える
0

それは意味がなく、必要ありません。とにかく、私の理論では、プログラマーはPowerShellにはまっています。$truePowerShell では、 /を使用するのが非常に一般的$falseです。「 PowerShellのブール値について」および「ブール値と演算子」を参照してください。

于 2013-08-16T12:59:15.497 に答える