筆記010 PHP中 == 比較運算子注意事項
最近在進行比較運算的時候,遇到了一些問題,細節問題,平常忽略了,沒想這次問題就出來了。
PHP中的 == 比較運算子表示:當兩個資料的值相等的時候,回傳 true ,否則回傳 false。注意,這裡說的是值相當的時候,結果就為 true,也就是說,這裡並不會去比較值的型別。如:12 == '12' 結果會是 true。
由於PHP變數的弱型,很多時候並沒有去刻意地管變數的類型是什麼,而這次出現的問題則就是因為變數類型導致的。
我的問題是出現在使用 array_search 函數的時候。
array_search 的作用是用給定的值到一個資料中進行檢索,說值存在,則傳回該值對應的索引。若該值出現多次,則傳回第一個檢索到的索引。若值不存在,則傳回 false。
我的問題出現在類似以下的環境:
<?php$testA = array( 'a' => '123', 'b' => 'iphp8.com', 'c' => '014778', 'd' => '14778', ); echo array_search('14778', $testA);
這時得到的結果會是 c。
由於預設情況下,array_search 並不會去比較值的類型,也就是做 == 比較。純數字的時候,就算是字串,貌似也是轉為數字進行比較,所以不管有多少個前置0,都沒有關係,"14778" 和 "014778"就是相等的,所以上面的例子中,返回的結果是 c,而不是我們認為的 d。
這個時候,為了得到我們想要的結果,就需要進行 === 比較了,既要比較值,也要比較類型。
而對於 array_search 來說,我們給它的第三個參數給 true 值就可以全等比較了。
以上就是筆記010 PHP中 == 比較運算子注意事項的內容,更多相關內容請關注PHP中文網(www.php.cn)!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發
