programing

“===”은 무엇을 의미합니까?

nasanasas 2021. 1. 5. 08:11
반응형

“===”은 무엇을 의미합니까?


내가 ===이해할 수없는 PHP 연산자 사용하는 사람을 발견 했습니다. 나는 기능으로 그것을 시도했고 그것은 미친 방식으로 대응합니다.

이 연산자의 정의는 무엇입니까? PHP 연산자 선언에서도 찾을 수 없습니다.


$a === $b     (Identical)      

$a가 같고 $b동일한 유형 이면 TRUE 입니다. (PHP 4에서 도입)

PHP 문서


http://www.php.net/ternary

$ a == $ b $ a가 $ b와 같으면 TRUE입니다. 단, 여전히 True 인 (True == -1)은 예외입니다.

$ a === $ b 동일 $ a가 $ b와 같고 동일한 유형이면 TRUE입니다.

> "5" == 5;
True
> "5" === 5;
False

여기 에서 짧은 요약을 읽을 수 있습니다 .

$ a == $ b 같음 유형 저글링 후 $ a가 $ b와 같으면 참.

$ a === $ b 동일 $ a가 $ b와 같고 동일한 유형이면 TRUE입니다.


PHP에서는 == 연산자 또는 === 연산자를 사용하여 두 값을 비교할 수 있습니다. 차이점은 다음과 같습니다.

PHP는 데이터 유형에 엄격하지 않은 동적 해석 언어입니다. 이는 언어 자체가 필요할 때마다 데이터 유형 변환을 시도한다는 것을 의미합니다.

echo 4 + "2"; // output is 6

출력은 정수 값 6입니다. 이는 +PHP의 숫자 더하기 연산자이므로 다른 데이터 유형과 함께 피연산자를 제공하면 PHP는 먼저 해당 유형을 적절한 유형으로 변환 ( "2"가 2로 변환 됨) 한 다음 수행합니다. 작업.

서로 다른 데이터 유형에있을 수있는 두 개의 피연산자가있는 비교 연산자로 ==를 사용하면 PHP는 두 번째 피연산자 유형을 첫 번째 피연산자로 변환합니다. 그래서:

4 == "4"// 참

PHP는 "4"를 4로 변환 한 다음 값을 비교합니다. 이 경우 결과는 사실입니다.

===를 비교 연산자로 사용하면 PHP는 데이터 유형을 변환하지 않습니다. 따라서 피연산자의 유형이 다르면 동일하지 않습니다.

4 === "4"// 거짓


$x == $y $ x와 $ y의 값이 같으면 TRUE입니다.

$x = 1; //int type
$y = "1"; //string type
if ($x == $y) {
    // This will execute
}

$x === $y $ x와 $ y의 값이 같고 $ x와 $ y의 유형이 같으면 TRUE :

$x = 1; //int type
$y = "1"; //string type
if ($x === $y) {
    // This will not execute
}

이 연산자는 PHP뿐만 아니라 동적으로 입력되는 많은 언어에서 볼 수 있습니다.

== 처리하는 모든 것을 비교할 수있는 유형으로 변환하려고합니다.

=== 유형과 값을 엄격하게 비교합니다.

동적으로 입력되는 언어에서는 ==에주의해야합니다. 흥미로운 버그를 얻을 수 있습니다.

삼항 ===은 덜 편리하지만 더 안전합니다. 비교를 위해 항상 그럴 것인지 ===아니면==


삼중 등호 ===는 두 변수가 같은지, 같은 유형인지 확인합니다.


PHP의 경우 0이 취할 수있는 다양한 의미가 있습니다.

  1. 부울 거짓 일 수 있습니다.
  2. null 값일 수 있습니다.
  3. 정말 0이 될 수 있습니다.

따라서 ===가 추가되어 유형과 값이 동일합니다.


"PHP three equals operator"에 대한 인터넷 검색을 위해 얻은 PHP의 Double 및 Triple equals 연산자를 참조하십시오 .

한 시점에서 다음과 같이 말합니다.

이중 = 부호는 비교이며 왼쪽의 변수 / 표현식 / 상수가 오른쪽의 변수 / 표현식 / 상수와 동일한 값을 갖는지 테스트합니다.

트리플 = 부호는 두 변수 / 표현식 / 상수가 같고 유형이 동일한 지 여부를 비교하는 것입니다. 즉, 둘 다 문자열인지 또는 둘 다 정수인지 확인합니다.

또한 그것을 설명하는 예를 제공합니다.


"===" matching the value in the variable as well as data type of the variable.

ReferenceURL : https://stackoverflow.com/questions/1117967/what-does-mean

반응형