4 回答

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊
你=的賦值操作符,==在“平等”比較操作和===對(duì)“相同”的比較操作。
$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)
有關(guān)需要更多信息==和===和的情況下使用每個(gè),看的文檔。

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊
=
是賦值運(yùn)算符==
是比較運(yùn)算符(檢查兩個(gè)變量是否具有相等的值)===
是相同的比較運(yùn)算符(檢查兩個(gè)變量是否具有相同的值并且屬于同一類型)。

TA貢獻(xiàn)1773條經(jīng)驗(yàn) 獲得超3個(gè)贊
=賦值運(yùn)算符
==檢查兩個(gè)變量是否具有相同的值
===檢查兩個(gè)變量是否具有相同的值以及它們的類型是否相同

TA貢獻(xiàn)1795條經(jīng)驗(yàn) 獲得超7個(gè)贊
對(duì)于高級(jí)PHP用戶,知道之間的差別==和===與問自己“是它更快地進(jìn)行比較==或與===我敢肯定,這兩個(gè)操作數(shù)是相同的類型?”
簡(jiǎn)短而一般的答案是:在這種情況下使用沒有性能提升===,所以你應(yīng)該使用==。
感興趣的標(biāo)桿它自己的那些,你可以使用下面的代碼我寫的ad-hoc和嘗試不同的價(jià)值觀$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";
?>
注意:只有當(dāng)每個(gè)“FIRST TRY”非常接近“SECOND TRY”時(shí),比較才有效。如果它們明顯不同,則意味著處理器在執(zhí)行比較時(shí)忙于執(zhí)行其他操作,因此結(jié)果不可靠并且應(yīng)該再次運(yùn)行基準(zhǔn)測(cè)試。
- 4 回答
- 0 關(guān)注
- 478 瀏覽
添加回答
舉報(bào)