>백엔드 개발 >PHP 문제 >===가 ==보다 빠른 이유는 무엇입니까?

===가 ==보다 빠른 이유는 무엇입니까?

Guanhui
Guanhui앞으로
2020-06-18 18:01:322928검색
비교 연산자 = == (동등한 계산 기호)

===가 ==보다 빠른 이유는 무엇입니까? === (Heng 외 (Evergrande 연산)

두 값 비교.

느슨한 같음(==)엄격한 같음(===) 연산자라고도 합니다. Symbol

NameExample출력 결과==Equals$a == $b유형을 무시하고, TRUE인 경우 $a는 $b와 같습니다 ===항상 같음$a === $bTRUE if $a가 $b와 같고 유형이 동일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)

첫 번째 케이스 케이스 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); 
?>


output :

Bool (true) bool (true) bool (false)

bool (false)

노트 :

=== 연산자는 '형식 비교가 비교적 안전하다'고 하며, 두 값이 동일한 유형과 값을 갖는 경우에만 TRUE를 반환합니다. ==를 사용할 경우 값이 같을 경우 TRUE를 반환합니다.


추천 튜토리얼: "
PHP 튜토리얼
"

위 내용은 ===가 ==보다 빠른 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 learnku.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제