ホームページ >バックエンド開発 >PHPチュートリアル >PHP の === 演算子が == より速いのはなぜですか?

PHP の === 演算子が == より速いのはなぜですか?

藏色散人
藏色散人オリジナル
2021-08-30 10:16:553516ブラウズ

前回の記事「PHPのrequire_once()が使いにくい理由を教えてください!」 >>PHP の require_once() が使いにくい理由を紹介しました。興味のある友達は読んで調べてください~

この記事では、PHP の # について紹介します。 ##=== 演算子が == より速いのはなぜですか? PHP の === 演算子と == 演算子は、PHP の比較演算子です。

===

演算子は と呼ばれ、 と絶対に等しく、== 演算子は と呼ばれ、これは等しいに ###。 構文例:

$a == $b

, 型変換後の $a が $b と等しい場合は TRUE;

$ a === $b

、$a が $b に等しく、2 つの型が同じ場合は TRUE、

オペランドの型が異なる場合の場合、 = = と === は異なる結果を生成します。この場合、== は型変換を実行してから比較するため、演算子の速度は異なります。
  • オペランドが同じ型の場合、== と === は同じ結果を生成します。この場合、どちらの演算子でも型変換が実行されないため、2 つの演算子の速度はほぼ同じになります。
  • #== 演算子は、その値が別のオペランドと等しいかどうかを確認するためにデータ型を一時的に変換しますが、 === は型変換を必要としないため、作業が軽減されます。 == 演算子よりも高速です。

コード例 1:

<?php


var_dump(0 == "a");

// 1 == 1 -> true
var_dump("1" == "01");

// 10 == 10 -> true
var_dump("10" == "1e1");

// 100 == 100 -> true
var_dump(100 == "1e2");


var_dump(0 === "a");

// "1" === "01" -> false
var_dump("1" === "01");

// "10" === "1e1" -> false
var_dump("10" === "1e1");

// 100 == "1e2" -> false
var_dump(100 === "1e2");

switch ("a") {
    case 0:
        echo "第一种情况";
        break;

    case "a":
        echo "第二种情况";
        break;
}
出力:

boolean true
boolean true
boolean true
boolean true
boolean false
boolean false
boolean false
boolean false
第一种情况


コード例 2:

<?php

var_dump(1 == TRUE);

var_dump(0 == FALSE);

var_dump(1 === TRUE);

var_dump(0 === FALSE);
出力:
boolean true
boolean true
boolean false
boolean false

注: === 演算子は「タイプセーフな比較」を実行します。2 つのオペランドの型と値が同じで、To の場合のみ true を返します。値を比較するには、== を使用します。

最後に、最新かつ最も包括的な「

PHP ビデオ チュートリアル

」をお勧めします~ぜひ学んでください!

以上がPHP の === 演算子が == より速いのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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