및 === (Heng 외 (Evergrande 연산)
두 값 비교.느슨한 같음(==) 및 엄격한 같음(===) 연산자라고도 합니다. Symbol
출력 결과 | == | ||
---|---|---|---|
유형을 무시하고, TRUE인 경우 $a는 $b와 같습니다 | === | 항상 같음 | |
TRUE if $a가 $b와 같고 유형이 동일 | PHP 연산자 |
두 값의 유형이 다른 경우 == 및 ===는 다른 결과를 제공합니다. ==가 먼저 유형 변환을 수행한 다음 비교를 수행하기 때문에 작업 속도도 달라집니다.
<?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); ?>
Bool (true) bool (true) bool (false)
bool (false)노트 :
=== 연산자는 '형식 비교가 비교적 안전하다'고 하며, 두 값이 동일한 유형과 값을 갖는 경우에만 TRUE를 반환합니다. ==를 사용할 경우 값이 같을 경우 TRUE를 반환합니다.
추천 튜토리얼: "
PHP 튜토리얼
"
위 내용은 ===가 ==보다 빠른 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!