3가지 다른 점은
와의 차이는 무엇입니까?=
,==
,그리고.===
?
등호 하나를 사용하는 것은 변수를 선언하는 것이고, 등호 두 개는 비교 조건이고, 마지막으로 등호 세 개는 선언 변수의 값을 비교하는 것이라고 생각합니다.
당신은 가지고 있다=
할당 연산자,==
비교 연산자 'solution' 비교 연산자 및===
비교 연산자 'd' 비교 연산자.
$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)
의 필요성에 대한 자세한 내용은==
그리고.===
, 및 각각의 사용 상황에 대해서는, 문서를 참조해당 메뉴얼을 참조해 주세요.
=
할당 연산자입니다.==
비교 연산자(두 변수의 값이 동일한 경우)입니다.===
는 동일한 비교 연산자입니다(두 변수의 값이 같고 유형이 동일한 경우 제외됩니다).
=할당연산자
== 두 변수의 값이 동일한지 확인
=== 두 변수의 값이 같고 유형이 동일한지 확인
= 연산자는 값을 변수 $6 = 6에 할당하고 값 6은 변수 $6에 할당합니다.
== 연산자는 두 변수의 값이 같으며 if 문과 같은 조건에서 주로 사용되는지 확인합니다.
$a = 2;
$b = 2;
if ($a == $b) {
echo both variables have the same value;
}
===와 유사한 연산자(값이 동일한지 확인) 및 두 데이터 유형 모두 확인
$a = 2;
$b = "2";
if ($a === $b) {
echo "both variable have same value and of same data type";
} else {
echo 'both variable is either not equal or not of same data type';
}
// 여기서 $a는 int 타입이고 $b는 문자열 타입입니다.이 출력은
고급 PHP 사용자의 경우, 두 사용자 간의 차이점을 알고 있어야 합니다.==
그리고.===
그리고 스스로에게 묻는다. "이것보다 더 빠른가?"==
또는 을 사용하여===
두 피연산자가 같은 타입인 것이 확실하다면요?"
간략하고 일반적인 답변은 다음과 같습니다.이 경우 를 사용해도 퍼포먼스가 향상되지 않으므로 를 사용하는 것이 좋습니다.
벤치마킹에 관심이 있는 사용자는 제가 작성한 다음 코드를 사용하여 다른 값을 시도할 수 있습니다.$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";
?>
메모: 이 비교는 각 "첫 번째 시도"가 "두 번째 시도"에 매우 근접한 경우에만 유효합니다.이들 비교가 현저하게 다를 경우 프로세서가 비교 실행 중에 다른 작업을 수행 중이었음을 의미하므로 결과를 신뢰할 수 없으며 벤치마크를 다시 실행해야 합니다.
언급URL : https://stackoverflow.com/questions/2063480/the-3-different-equals
'programing' 카테고리의 다른 글
PHP의 opcode를 얻는 방법 (0) | 2022.09.26 |
---|---|
도커 컨테이너에 mariaDB를 입력하는 방법 (0) | 2022.09.26 |
값 오류:요소가 두 개 이상인 배열의 참값 값이 모호합니다.a.any() 또는 a.all()을 사용합니다. (0) | 2022.09.25 |
요청이 있는 python에서 대용량 파일 다운로드 (0) | 2022.09.25 |
Ruby on Rails 3 소켓 '/tmp/mysql'을 통해 로컬 MySQL 서버에 연결할 수 없습니다.OSX에서 '삭 (0) | 2022.09.25 |