PHPの比較演算子の詳しい説明

怪我咯
リリース: 2023-03-10 21:38:01
オリジナル
2552 人が閲覧しました

演算子は、コンパイラーに特定の算術演算または論理演算を実行するように指示する記号であり、通常、数学演算または論理演算に関与する式を形成します。 PHP には多くの演算子も含まれており、この記事では非常に重要な 比較演算子 について詳しく説明します。

比較演算子の種類

その名前が示すように、2 つの値の比較を可能にします。比較演算子は次のとおりです。
1) $a > $b が大きい場合: $a が $b より大きい場合、TRUE が返されます
2) $a < $b が小さい場合:厳密に $b より小さい場合、TRUE を返します
3) $a >= $b 以上: $a が $b 以上の場合、TRUE を返します
4) $a <= $b以下: $a が $b 以下の場合、TRUE を返します
5) $a <> $b が等しくない: $a が $b に等しくない場合、TRUE を返します
6 ) $a != $b は次と等しくない: $a が $b と等しくない場合、TRUE を返す (上記と同じ) )
7) $a == $b は次と等しい: $a が $ と等しい場合b の場合、TRUE を返します
8) $a === $b は以下に等しい: $a が $b に等しく、それらの型も同じ場合、TRUE を返します
9) $a !== $b は次のとおりです等しくない: $a が $b と等しくない場合、または型が異なる場合は、TRUE が返されます

その中で、「等しい」と「すべて等しい」の区別に焦点を当てる必要があります。 $a = = $b は 2 つの変数の値に対してのみ比較演算を実行し、値とデータ型を同時に比較する演算子の両側の式にのみ実行します。両辺の値が等しく、演算結果は「true」となります。たとえば、$a = 2; var_dump($a!==2); と「不等式」演算子を組み合わせると、2 は 2 に等しいため、この式は「false」を返します。さらに、$a = 2; は整数型であり、var_dump($a!==2); の 2 も整数型ですが、演算子は "!==" と完全に等しくないため、結果は false になります。 、 2 は 2 に等しいためです。一方、この場合 $a = 2; var_dump($a!=='2'); 2 は '2' に等しくないため、演算の結果は "true" になります。 「2」は string です。 「2」は、すべてが等しいわけではなく、変数値を比較するだけでなく、変数のデータ型も比較することを意味します。

PHP での異なる型の結果の比較

PHP 比較演算子 が整数と文字列を比較する場合、文字列は整数に変換されてから比較されます。 2 つの数値文字列を比較する場合、それらは整数として比較され、この規則は switch ステートメントにも適用されます。
例:
var_dump(0 == "a"); // TRUE を返し、「a」は 0 に変換されます
var_dump("1" == "01"); // TRUE を返し、整数として扱われます

string null と string の比較: NULL を "" に変換して数値または文字列を比較します
bool または null の比較: bool、FALSE < に変換します
オブジェクトの組み込みクラスは独自の比較を定義できますが、異なるクラスは比較できません、同じクラスが属性を比較する場合
文字列、リソース、または数値間の比較: 文字列とリソースを数値に変換し、通常の数学に従って比較します
配列間の比較: オペランド 1 が含まれる場合、メンバーの少ない配列の方が小さくなります。オペランド 2 に存在するため、配列は比較できず、値ごとに比較する必要があります (次のコードを参照)
配列と他の型の比較: 配列の方が常に大きい
オブジェクトと他の型の比較: オブジェクトの方が常に大きい

配列比較コード:

 function standard_array_compare($op1, $op2) 
 { 
   if (count($op1) < count($op2)) {    //具有较少成员的数组较小
     return -1;    // $op1 < $op2 
   } elseif (count($op1) > count($op2)) { 
     return 1;    // $op1 > $op2 
    }  

   foreach ($op1 as $key => $val) { 
    if (!array_key_exists($key, $op2)) { 
       return null;    
    } else if ($val < $op2[$key]) { 
       return -1; 
     } elseif ($val > $op2[$key]) { 
       return 1; 
      } 
   } 
   return 0;   // $op1 == $op2 
 }
ログイン後にコピー

比較演算子の三項演算演算子:

Expression (expr1) ? (expr2) : (expr3) 式expr1の値がTRUEの場合、値はexpr2、または式 expr1 が FALSE と評価された場合の expr3。

以上がPHPの比較演算子の詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!