四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

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

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

這段代碼的輸出是bool(true), 說明這樣判斷會得出結論是兩者相等. 類似的特性在in_array()函數(shù)第3個參數(shù)為false或者不設置的情況. 原因是首先判斷字符串是否是數(shù)字, 然后轉換成long或者double(C語言數(shù)據(jù)類型)再判斷 - 使用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()函數(shù)設置第三個參數(shù)為true: in_array('val', $array, true).

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

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

主站蜘蛛池模板: 边缘行者 电影| 炊事班班长述职报告| 漂亮主妇电视剧| 爱很简单简谱| 超在线视频| 阿尔西| 蓝家宝电影| 无声真相电影免费播放| 郑婉雯| 微信头像大全500张| 播放凯登克罗斯演的全部影片| 凤凰卫视资讯台直播| 帕米尔我的家乡多么美简谱| 裸舞在线观看| 青草国产| 我和我的父辈 电影| 韩国电影陈诗雅主演| 乳糖不耐受奶粉推荐| 三大| 怒放的生命简谱| 马德哈万| 乡村女教师电影| 膨腹爱好者撑肚子视频| 夜半2点钟| 中岛洋子| 都市频道节目表今天| 猿球崛起| 老阿姨视频| 山西少儿频道| 操女孩子| ,xx| 大奉打更人电视剧在线| 欲望之事| 尹雪喜主演电影| 6夜间飞行的秘密| 繁星(十)| 头文字d里演员表| 《爱的温暖》电影在线观看| 佩佩猪| 含羞草传媒2024| 卫星掉落|