2019-03-14關(guān)于PHP弱類型轉(zhuǎn)化

php中有兩種比較的符號 == 與 ===

1 <?php
2 $a = $b ;
3 $a===$b ;
4 ?>

=== 在進行比較的時候,會先判斷兩種字符串的類型是否相等,再比較

== 在進行比較的時候,會先將字符串類型轉(zhuǎn)化成相同,再比較

如果比較一個數(shù)字和字符串或者比較涉及到數(shù)字內(nèi)容的字符串,則字符串會被轉(zhuǎn)換成數(shù)值并且比較按照數(shù)值來進行

這里明確了說如果一個數(shù)值和字符串進行比較的時候,會將字符串轉(zhuǎn)換成數(shù)值

<?php
var_dump("admin"==0);  //true
var_dump("1admin"==1); //true
var_dump("admin1"==1) //false
var_dump("admin1"==0) //true
var_dump("0e123456"=="0e4456789"); //true 
?>  //上述代碼可自行測試

1 觀察上述代碼,"admin"==0 比較的時候,會將admin轉(zhuǎn)化成數(shù)值,強制轉(zhuǎn)化,由于admin是字符串,轉(zhuǎn)化的結(jié)果是0自然和0相等
2 "1admin"==1 比較的時候會將1admin轉(zhuǎn)化成數(shù)值,結(jié)果為1,而“admin1“==1 卻等于錯誤,也就是"admin1"被轉(zhuǎn)化成了0,為什么呢??
3 "0e123456"=="0e456789"相互比較的時候,會將0e這類字符串識別為科學技術(shù)法的數(shù)字,0的無論多少次方都是零,所以相等.

當一個字符串欸當作一個數(shù)值來取值,其結(jié)果和類型如下:如果該字符串沒有包含'.','e','E'并且其數(shù)值值在整形的范圍之內(nèi)該字符串被當作int來取值,其他所有情況下都被作為float來取值,該字符串的開始部分決定了它的值,如果該字符串以合法的數(shù)值開始,則使用該數(shù)值,否則其值為0。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,724評論 0 5
  • 前言 最先接觸編程的知識是在大學里面,大學里面學了一些基礎(chǔ)的知識,c語言,java語言,單片機的匯編語言等;大學畢...
    oceanfive閱讀 3,395評論 0 7
  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學一百閱讀 3,689評論 0 4
  • 本章內(nèi)容 語法 數(shù)據(jù)類型 流控制語句 理解函數(shù) 3.1 語法 3.1.1 區(qū)分大小寫 區(qū)分大小寫 3.1.2 標識...
    悶油瓶小張閱讀 800評論 0 0
  • 我能讓你做任何事的方法就是把你想要的給你,帶隊伍可能也是這樣的吧,你了解到你每個團隊人員想要的是什么,在條件允許的...
    老趙家的丫頭閱讀 332評論 0 1

友情鏈接更多精彩內(nèi)容