为什么 === 的速度比 == 快?
比较运算符 == (相等运算符) 和 === (恒等运算符) 用于比较两个值。他们也被称为 宽松等于 (==) 和 严格等于 (===) 运算符。
符号 | 名称 | 例子 | 输出结果 |
---|---|---|---|
== | 等于 | $a == $b | 忽略类型,如果 $a 等于 $b 则为 TRUE |
=== | 恒等于 | $a === $b | 如果 $a 等于 $b,并且类型相同则为 TRUE |
PHP 运算符 PHP中有很多运算符, 但 == 和 === 运算符严格或随意执行类似的任务。
- 如果两个值的类型不同,那么 == 和 === 会得到 不同的结果。运算速度也会有所不同, 因为 == 会先进行类型转换,然后进行比较。
- 如果两个值类型相同,那么 == 和 === 会得到 相同的结果。 运算速度也几乎相同,两个运算符都不会进行类型转换。
相等运算 == 比较两个值时会临时转换数据类型,而 === (全等运算符)不需要执行任何类型转换,因此计算量减少,速度也更快。
案例 1:
<?php // 0 == 0 -> 类型相同返回 true // 转换完成,然后 // 检查是否相等 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"); // 0 === "a" -> 这种情况为 false // 转换不仅完成 // 还检查是否存在 // 是否相等 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 "In first case"; break; // 永远不会匹配 "a" 选项 // 因为 switch 使用的是 == case "a": echo "In sceond case"; break; } ?>
输出:
bool(true)
bool(true)
bool(true)
bool(true)
bool(false)
bool(false)
bool(false)
bool(false)
In first case
案例 2:
<?php // TRUE - 以下表达式等同于 (bool)1 == TRUE var_dump(1 == TRUE); // TRUE - 以下表达式等同于 (bool)0 == FALSE var_dump(0 == FALSE); // FALSE - 1 不全等于 TRUE // 1 是整形, TRUE 是布尔型 var_dump(1 === TRUE); // FALSE - 0 不全等于 FALSE // 0 是整形, FALSE 是布尔型 var_dump(0 === FALSE); ?>
输出:
bool(true)
bool(true)
bool(false)
bool(false)
注意: === 运算符‘类型比较相对安全’, 仅当两个值具有相同的类型和值时才会返回 TRUE, 使用 == 时,值相等就会返回 TRUE。
推荐教程:《PHP教程》
Atas ialah kandungan terperinci 为什么 === 的速度比 == 快?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Untuk bekerja dengan tarikh dan masa dalam cakephp4, kami akan menggunakan kelas FrozenTime yang tersedia.

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

Untuk mengusahakan muat naik fail, kami akan menggunakan pembantu borang. Di sini, adalah contoh untuk muat naik fail.

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.

Log masuk CakePHP adalah tugas yang sangat mudah. Anda hanya perlu menggunakan satu fungsi. Anda boleh log ralat, pengecualian, aktiviti pengguna, tindakan yang diambil oleh pengguna, untuk sebarang proses latar belakang seperti cronjob. Mengelog data dalam CakePHP adalah mudah. Fungsi log() disediakan

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

CakePHP ialah rangka kerja MVC sumber terbuka. Ia menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP mempunyai beberapa perpustakaan untuk mengurangkan beban tugas yang paling biasa.
