>백엔드 개발 >PHP 튜토리얼 >PHP의 항등(==이중 등호)과 항등(===삼중 등호) 비교 연산자의 차이점은 무엇입니까?

PHP의 항등(==이중 등호)과 항등(===삼중 등호) 비교 연산자의 차이점은 무엇입니까?

WBOY
WBOY앞으로
2023-09-07 17:45:081482검색

PHP의 항등(==이중 등호)과 항등(===삼중 등호) 비교 연산자의 차이점은 무엇입니까?

PHP에서 이중 등호(==)와 삼중 등호(===)는 값이 같은지 비교하는 데 사용되는 비교 연산자입니다. 그러나 동작과 비교 프로세스의 엄격함이 다릅니다.

이중 같음(==)

이중 같음 연산자는 두 값이 같은지 확인하지만 두 값의 데이터 유형이 다른 경우 유형 강제 변환을 수행합니다. 이는 PHP가 비교를 수행하기 전에 값을 일반 유형으로 변환하려고 시도한다는 것을 의미합니다. 이중 같음 연산자에 대한 몇 가지 주요 사항은 다음과 같습니다.

  • 두 값의 유형이 동일한 경우 삼중 등호 연산자(엄격한 비교)처럼 동작합니다.

  • 두 값의 유형이 서로 다른 경우 PHP는 해당 값을 공통 유형으로 변환하려고 시도합니다. 예를 들어, 정수와 문자열을 비교하면 PHP는 문자열을 정수로 변환하려고 시도합니다.

  • 숫자 문자열은 정수 또는 부동 소수점 숫자와 비교하여 자동으로 숫자로 변환됩니다.

  • 부울 값은 정수로 비교됩니다(true는 1, false는 0).

  • Null은 빈 문자열, 빈 배열 또는 0과 동일하게 취급됩니다.

  • 배열과 객체는 내용이 아닌 ID로 비교됩니다.

예 1

으아아아

출력

으아아아

지침

이중 항등 연산자는 유형 강제를 수행하므로 문자열 "5"가 정수 5로 변환되고 비교 결과 true가 반환됩니다.

예 2

으아아아

출력

으아아아

지침

이중 같음 연산자는 유형 강제 변환을 수행합니다. 문자열 "5.0"은 부동 소수점 숫자 5.0으로 변환되고 비교 결과는 true를 반환합니다.

삼중 등호(===)

항등 연산자라고도 알려진 삼중 항등 연산자는 두 값을 엄격하게 비교합니다. 유형 강제를 수행하지 않고 값과 유형이 동일한지 확인합니다. 삼중 등호 연산자는 더 엄격하며 예상치 못한 유형 변환을 방지하므로 일반적으로 사용하기에 더 안전한 것으로 간주됩니다. 다음은 삼중 같음 연산자에 대한 몇 가지 핵심 사항입니다.

  • 비교되는 두 값의 유형과 값이 동일한 경우에만 true를 반환합니다.

  • 유형이 다르거나 한 값을 다른 값의 유형으로 변환할 수 없는 경우 연산자는 false를 반환합니다.

  • 비교 전에는 유형 변환이나 캐스트가 수행되지 않습니다.

  • 이것은 일반적으로 유형 무결성이 중요한 값을 비교할 때 선호됩니다.

예 1

으아아아

출력

으아아아

지침

3중 같음 연산자는 값과 유형을 모두 고려하여 엄격한 비교를 수행합니다. $value1은 정수이고 $value2는 문자열이므로 동일한 것으로 간주되지 않습니다.

예 2

으아아아

출력

으아아아

지침

$value1과 $value2는 모두 동일한 값 10을 갖는 정수이므로 ===를 사용한 엄격한 비교는 true를 반환하고 "Equal"이 출력으로 표시됩니다.

결론

PHP에서는 이중 등호(==) 및 삼중 등호(===) 연산자의 비교 동작이 다릅니다. 이중 같음은 유형별로 느슨한 동등성 검사를 시행하여 비교하기 전에 값을 일반 유형으로 변환하려고 시도합니다. 대조적으로, 삼중 같음은 값과 유형을 모두 고려하여 유형 강제 없이 엄격한 동일성 검사를 수행합니다. 삼중 부호는 신뢰성과 예측 가능성 때문에 선호되는 경우가 많습니다. 의도하지 않은 유형 변환으로 인해 발생하는 예기치 않은 동작을 방지하는 데 도움이 됩니다. 이러한 차이점을 이해하면 개발자는 원하는 비교 요구 사항에 따라 적절한 연산자를 선택하고 코드 정확성을 유지할 수 있습니다.

위 내용은 PHP의 항등(==이중 등호)과 항등(===삼중 등호) 비교 연산자의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
이전 기사:PHP의 fscanf() 함수다음 기사:PHP의 fscanf() 함수

관련 기사

더보기