PHP中的數字與字串比較

來源:互聯網
上載者:User
PHP中的比較子有點詭異,很容易出錯,現列出比較規則:

1、當兩個字元進行大小比較時,是比較著這兩個字元的ASCII碼大小??這條很容易理解。

2、當兩個字串進行大小比較時,是從第一個字元開始,分別比教對應的ASCII大小,只要從從某個對應位置開始,其中一個字串的當前位置字元大於另一個字串對應位置字元,即直接判別出這兩個字串大小,如'ba'>'az'??這條其實大家也都知道的。

那麼'10'與'a'比較呢,當然還是一樣的啦,首先將'1'和'a'ASCII碼進行比較,'a'大。

3、當一個數字與一個字串/字元進行大小比較時,首先系統嘗試將此字串/字元轉換為整型/浮點型,然後進行比較,如'12bsd'轉型為12,'a'轉型為0,千萬需要注意的是此時不是將其對應的ASCII碼值與數字進行大小比較了。

其實同樣的道理,'a'+10結果也是10。

並且容易忽略的:0 與任意不可轉化為數位字串比較(操作符為==), 均返回 true。

最後就會出現如下結果:

1 var_dump('1000000'<'a');    //result: boolean true2 var_dump('a'<1);            //result: boolean true3 var_dump(1<'1000000');      //result: boolean true

自己的執行個體:

='你大爺');?>

輸出結果:boolean true

漢字先通過Gbk或者utf-8方式轉碼,漢字在底層會轉成字母

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.