ホームページ >バックエンド開発 >PHPチュートリアル >PHP は非ブール演算オペランドとの True/False 比較をどのように処理しますか?

PHP は非ブール演算オペランドとの True/False 比較をどのように処理しますか?

DDD
DDDオリジナル
2024-11-29 08:30:09878ブラウズ

How Does PHP Handle True/False Comparisons with Non-Boolean Operands?

PHP における True/False の比較を理解する

PHP では、True と False の値を比較することはプログラミングの基本的な側面です。ただし、これらの比較の具体的な動作は、特に非ブール値オペランドが関係する場合に混乱を招くことがあります。

PHP の True/False 値の内部処理

一部の比較とは異なります。他のプログラミング言語では、PHP は true を 1 として、false を 0 として明示的に定義しません。PHP は内部的に「真実」という概念を使用し、比較のブール結果を決定するための「偽」値。

式の真偽性と偽性

if ステートメントまたはその他のコンテキストで式を評価する場合、条件チェックが行われると、PHP は次のルールを適用します:

  • 空でないすべての文字列、ゼロ以外の数値、空でない配列、オブジェクトは「真」とみなされます。
  • 次の値は明示的に「偽」とみなされます:

    • false
    • 0
    • 0.0
    • 空の文字列('0' を含む)
    • 空の配列
    • メンバー変数のないオブジェクト
    • NULL
  • 定義された値の欠如(初期化されていない変数) も次のように解釈されます。 "falsey."

PHP が "a" を 1 として認識する方法

次の例では、

if("a"){
   echo "true";
}

PHP は文字列 "a" は空ではない文字列であり、真実とみなされます。したがって、if ステートメントは true と評価され、「true」がエコーされます。

補足

上記の比較ルールは、次の場合にも適用されることに注意することが重要です。算術演算とビット単位の演算。たとえば、「a」が真の値として扱われる場合、「1 a」という式は 2 を返しますが、「1 - a」は 0 を返します。

以上がPHP は非ブール演算オペランドとの True/False 比較をどのように処理しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。