차이점은 무엇이며 =
, ==
그리고는 ===
?
하나의 등호를 사용하는 것은 변수를 선언하는 것이고 두 개의 등호는 비교 조건을위한 것이고 마지막으로 세 개의 등호는 선언 된 변수의 값을 비교하는 것입니다.
답변
당신은이 할당 연산자 , ‘동일’비교 연산자 및 ‘동일한’비교 연산자를 .=
==
===
$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)
==
및 의 필요성 ===
과 상황 에 대한 자세한 내용 은 docs를 참조하십시오 .
답변
=
할당 연산자입니다==
비교 연산자 (두 변수가 동일한 값을 갖는지 확인)===
동일한 비교 연산자입니다 (두 변수의 값이 같고 유형이 같은지 확인).
답변
= 할당 연산자
== 두 변수의 값이 같은지 확인
=== 두 변수의 값이 같은지 확인하고 유형이 같은지 확인합니다
답변
= 연산자는 값을 변수 $ six = 6에 할당합니다. 값 6은 변수 $ six에 지정됩니다
== 연산자는 두 변수의 값이 같고 대부분 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는 string 유형입니다. 여기에 출력
답변
고급 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";
?>
참고 : 비교는 각 “FIRST TRY”가 “SECOND TRY”에 매우 가까운 경우에만 유효합니다. 이들이 상당히 다른 경우, 비교를 수행하는 동안 프로세서가 다른 작업을 수행 중이므로 결과를 신뢰할 수 없으므로 벤치 마크를 다시 실행해야합니다.