一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

PHP字符串 ==比較運算符的副作用

復制代碼 代碼如下:
$a = '212345678912000005';
$b = '212345678912000001';
var_dump($a == $b);

這段代碼的輸出是bool(true), 說明這樣判斷會得出結論是兩者相等. 類似的特性在in_array()函數第3個參數為false或者不設置的情況. 原因是首先判斷字符串是否是數字, 然后轉換成long或者double(C語言數據類型)再判斷 - 使用zendi_smart_strcmp. 但是, 源碼中的注釋說聲明考慮了溢出的情況,
復制代碼 代碼如下:
} else if (dval1 == dval2 && !zend_finite(dval1)) {
    /* Both values overflowed and have the same sign,
     * so a numeric comparison would be inaccurate */
    goto string_cmp;
}

dval1和dval2分別是兩個字符串轉換為double型后的值. 但為什么還是這樣呢? 也許這個判斷并不正確. 進一步研究再說...

解決方法, 使用三個等號"==="代替兩個等號"==", in_array()函數設置第三個參數為true: in_array('val', $array, true).

php技術PHP字符串 ==比較運算符的副作用,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 最新国产精品 | 久久精品免视国产 | 日本精品久久久久中文字幕8 | 午夜欧美在线 | 玖玖玖视频在线观看视频6 玖玖免费 | 91视频最新地址 | 精品国语对白精品自拍视 | 日韩在线视屏 | 久久综合丝袜日本网 | 日本美女一区二区 | 岛国一区二区 | 2022免费国产精品福利在线 | 欧美私人网站 | 精品久久久久久久久久久 | 国产精品免费观看网站 | 怡红院视频在线观看最新 | 亚洲热在线观看 | 欧美人成在线视频 | 五月天婷婷一区二区三区久久 | 热99在线视频 | 国产精品99 | 九一国产 | 久久香蕉综合色一综合色88 | 国产成人精品日本亚洲专利 | 天天爱综合 | 超人碰碰碰人人成碰人 | 日韩中文字幕亚洲无线码 | 免费国产成人午夜在线观看 | 美女视频黄免费 | 一区二区三区鲁丝不卡麻豆 | 亚洲五月激情综合图片区 | 日本一区二区三区免费高清在线 | 国产在线视频一区 | 中文字幕激情视频 | 国产免费观看视频 | 亚洲一区免费视频 | 欧美日韩一区二区三区自拍 | 久视频在线观看久视频 | 91在线综合 | 午夜亚洲视频 | 亚洲国产人成在线观看 |