日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php5.0相等,关于php:3个相等

發布時間:2024/9/27 php 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php5.0相等,关于php:3个相等 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

=,==和===有什么區別?

我認為使用一個等號表示變量,而使用兩個等號表示比較條件,最后使用三個等號表示比較變量的值。

看看這個例子...我已經發布了,它將澄清更多的事情..

對于高級PHP用戶,了解==和===之間的區別并問自己"當我確定兩個操作數是同一類型時,與==或===進行比較會更快嗎?",請查看我的 下面的基準腳本。

@Strawberry我覺得問題標簽也應該包含javascript標簽,因為它也適用于該語言。

(更新):我已經在編輯中添加了javascript標記,因為人們在javascript中使用=的地方存在很多問題。 那不僅適用于PHP,還適用于其他語言。

我繼續刪除了JavaScript標記:這里的所有答案僅與PHP有關(最新版本除外,該版本非常薄弱),語言處理方式之間存在差異,并且已經存在一個類似的事實上的規范JavaScript問題(等于 運算符(== vs ===)是否應該在JavaScript比較中使用?)。

您具有=賦值運算符,==是"等于"比較運算符,而===是"相同"比較運算符。

$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)

有關==和===的需求以及使用每種情況的更多信息,請參閱文檔。

當我比較兩個相同的日期時間時,我得到了錯誤的結果,為什么?示例:sandbox.onlinephpfunctions.com/code/

@stloc,帶有對象的===告訴您它們是否是同一對象,而不是它們是否具有相同的內容。

在PHP4中引入,在Y2018中很有趣;-)

=是賦值運算符

==

是比較運算符(檢查是否

兩個變量具有相等的值)

===是相同的比較

運算符(檢查是否有兩個變量

具有相等的值,并且具有相同的值

類型)。

=賦值運算符

==檢查兩個變量是否具有相同的值

===檢查兩個變量是否具有相同的值,以及它們的類型是否相同

也了解!=和!==而不是兩個比較運算符的版本。有些語言使用:=作為賦值,只是為了避免這種混淆。

=運算符將值分配給變量

$ 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的不同值:

// 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"

COMPARE == (FIRST TRY):" . number_format($time_two_a, 3) ." seconds";

print"

COMPARE == (SECOND TRY):" . number_format($time_two_b, 3) ." seconds";

print"

COMPARE === (FIRST TRY):" . number_format($time_three_a, 3) ." seconds";

print"

COMPARE === (SECOND TRY):" . number_format($time_three_b, 3) ." seconds";

?>

注意:僅當每個"第一嘗試"非常接近其"第二嘗試"時,該比較才有效。如果它們明顯不同,則意味著處理器在執行比較時正忙于做其他事情,因此結果不可靠,應該重新運行基準測試。

這樣的微基準并不是很可靠。您極不可能擔心==或===作為性能問題的原因。 IMO:最好嚴格(===),除非您明確希望比較不嚴格(==)。奇怪的邊緣情況(例如"5 is not a number" == 5)的數量可能會導致古怪的錯誤。 ===絕不會遇到此問題。

我的測試是告訴程序員,如果出于性能原因選擇===,那他們錯了。因此,程序員可以基于邏輯原因而不是基于性能原因自由選擇===或==:在不同的情況下,一個或另一個更喜歡,并且根本不考慮性能。

總結

以上是生活随笔為你收集整理的php5.0相等,关于php:3个相等的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。