Why is the === operator in PHP faster than ==?

藏色散人
Release: 2023-04-10 16:18:01
Original
3460 people have browsed it

In the previous article "Let me tell you why require_once() in PHP is not easy to use! 》Introduced to you the reasons why require_once() in PHP is not easy to use. Friends who are interested can read and find out~

Then this article will introduce to you # in PHP Why is the ##=== operator faster than ==? The === and == operators in PHP are comparison operators in PHP. The

===

operator is called which is absolutely equal to , and the == operator is called which is equal to . Syntax example:

$a == $b

, TRUE if $a is equal to $b after type conversion;

$a === $b

, if $a is equal to $b, and the two types are the same, it is TRUE;

    If the types of the operands are different, then = = and === will produce different results. In this case, the speed of the operator will vary because == will perform a type conversion and then compare.
  • If the operands are of the same type, then == and === will produce the same result. In this case, the two operators are almost identical in speed because no type conversion is performed by either operator.
  • #== operator temporarily converts the data type to see if its value is equal to another operand, while === does not require any type conversion and therefore does less work , which makes it faster than the == operator.

Code example 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;
}
Copy after login
Output:

boolean true
boolean true
boolean true
boolean true
boolean false
boolean false
boolean false
boolean false
第一种情况
Copy after login

Code example 2:

<?php

var_dump(1 == TRUE);

var_dump(0 == FALSE);

var_dump(1 === TRUE);

var_dump(0 === FALSE);
Copy after login

Output:

boolean true
boolean true
boolean false
boolean false
Copy after login

Note: The === operator performs a "type-safe comparison", it will return true only if the two operands have the same type and value, and if only To compare values, use ==.

Finally, I would like to recommend the latest and most comprehensive "

PHP Video Tutorial

"~ Come and learn!

The above is the detailed content of Why is the === operator in PHP faster than ==?. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!