Categories: Development

Why if === is faster than if == in PHP

PHP comparison operators have == as being equal and === as being identical.

This means that == has to change or convert the type to check if it is equal. An example for this is the code below returns “yes”

$a = 1;
$b = '1';

if ($a == $b) {
    echo "yes";
} else {
    echo "no";
}

Because after type juggling (Int and string) they are equal values.

The following code will return “no”

$a = 1;
$b = '1';

if ($a === $b) {
    echo "yes";
} else {
    echo "no";
}

As 1 being an integer is not the same as ‘1’ which is set as a string.

===is faster to fail the condition. It must be noted that the actual speed gain is so minimal that you won’t even notice it, mere microseconds.

$a = true;
$b = 'yes';

if ($a == $b) {
    echo "yes";
} else {
    echo "no";
}

The code above returns “yes” because variable b is set which means it is true, therefor equal to variable a.

Share
Tags: PHPWeb Dev

Recent Posts

Kennington reservoir drained drone images

A drained and empty Kennington reservoir images from a drone in early July 2024. The…

2 years ago

Merrimu Reservoir drone images

Merrimu Reservoir from drone. Click images to view larger.

2 years ago

Early September spring shots

Some early September spring shots from a bushwalk, It is still too early for wildflowers.

3 years ago

Cloning an NVMe to SK Hynix Platinum P41 NVMe

I recently needed to clone over a smaller NVMe to a 2TB SK Hynix Platinum…

3 years ago

Using Laravel’s deleteDirectory to delete folders and their contents

If you ever needed a simple solution in Laravel to delete an entire directory and…

3 years ago

How to allow only 1 user to register in a Laravel application

How to enforce only one user to register or be registered in a Laravel web…

3 years ago