3 개의 다른 동등 물
PHP3 개의 다른 동등 물
=, == 및 ===의 차이점은 무엇입니까?
하나의 등호를 사용하는 것은 변수를 선언하는 것이고 두 개의 등호는 비교 조건을위한 것이고 마지막으로 3 개의 등호는 선언 된 변수의 값을 비교하는 것입니다.
해결법
-
==============================
1.
대입 연산자, == '동등'비교 연산자 및 === '동일'비교 연산자가 있습니다.
$a = $b Assign Sets $a to be equal to $b. $a == $b Equal TRUE if $a is equal to $b. $a === $b Identical TRUE if $a is equal to $b, and they are of the same type. (introduced in PHP 4)
== 및 ===에 대한 필요성 및 각각을 사용하는 상황에 대한 자세한 정보는 문서를보십시오.
-
==============================
2.
-
==============================
3.
= 대입 연산자
== 두 변수가 같은 값을 가지고 있는지 검사한다.
=== 2 개의 변수가 같은 값을 가지고 있는지 그리고 그것들의 타입이 같은지 검사한다.
-
==============================
4.
고급 PHP 사용자의 경우 ==와 ===의 차이를 알고 스스로를 묻는 것은 "== 또는 == 두 피연산자가 같은 유형인지 확신 할 때 더 빠릅니까?"
짧고 일반적인 대답은 다음과 같습니다. ===이 경우 ===를 사용하면 성능이 향상되지 않으므로 ==를 사용해야합니다.
직접 벤치마킹하는 데 관심이있는 사용자는 Ad-hoc로 작성한 다음 코드를 사용하여 $ a 및 $ b에 대해 다른 값을 시도 할 수 있습니다.
<?php // CONFIGURATION $cycles = 1000000; $a = 'random string 1'; $b = 'random string 2'; // FUNCTIONS function compare_two_equals($a, $b) { if ($a == $b) { return TRUE; } else { return FALSE; } } function compare_three_equals($a, $b) { if ($a === $b) { return TRUE; } else { return FALSE; } } // EXECUTION $time = microtime(TRUE); for ($count_a = 0; $count_a < $cycles; $count_a++) { compare_two_equals($a, $b); } $time_two_a = microtime(TRUE) - $time; $time = microtime(TRUE); for ($count_a = 0; $count_a < $cycles; $count_a++) { compare_three_equals($a, $b); } $time_three_a = microtime(TRUE) - $time; $time = microtime(TRUE); for ($count_a = 0; $count_a < $cycles; $count_a++) { compare_two_equals($a, $b); } $time_two_b = microtime(TRUE) - $time; $time = microtime(TRUE); for ($count_a = 0; $count_a < $cycles; $count_a++) { compare_three_equals($a, $b); } $time_three_b = microtime(TRUE) - $time; $time = microtime(TRUE); // RESULTS PRINTING print "<br />\nCOMPARE == (FIRST TRY): " . number_format($time_two_a, 3) . " seconds"; print "<br />\nCOMPARE == (SECOND TRY): " . number_format($time_two_b, 3) . " seconds"; print "<br />\nCOMPARE === (FIRST TRY): " . number_format($time_three_a, 3) . " seconds"; print "<br />\nCOMPARE === (SECOND TRY): " . number_format($time_three_b, 3) . " seconds"; ?>
참고 : 비교는 각 "첫 번째 트라이"가 "두 번째 트라이"에 매우 근접한 경우에만 유효합니다. 이들이 상당히 다르다면, 프로세서가 비교를 실행하는 동안 다른 작업을 수행 중일 때 결과가 신뢰할 수없고 벤치 마크를 다시 실행해야한다는 의미입니다.
from https://stackoverflow.com/questions/2063480/the-3-different-equals by cc-by-sa and MIT lisence
'PHP' 카테고리의 다른 글
PHP로 jQuery Ajax POST 예제 (0) | 2018.09.01 |
---|---|
PHP를 사용하여 두 날짜의 차이를 계산하는 방법은 무엇입니까? (0) | 2018.09.01 |
PHP 암호를위한 안전한 해시 및 소금 (0) | 2018.09.01 |
클렌징 사용자 암호 (0) | 2018.09.01 |
PHP 오류를 표시하려면 어떻게합니까? (0) | 2018.09.01 |