亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長(zhǎng)資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    關(guān)于PHP7中對(duì)十六進(jìn)制字符串處理的問題

    本篇文章由PHP7教程欄目給大家介紹一下關(guān)于 php7 中 "0xFFFFFFFF" 和 0xFFFFFFFF 的問題。有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)大家有所幫助。

    具體問題:

    $t1 = 0x3FFFFFFF & (1 * (0xd5b42e11)); $t2 = 0x3FFFFFFF & (1 * ("0xd5b42e11")); var_dump($t1,$t2);

    以上代碼在 php7(不含)以下平臺(tái)的值為:

    int(364129809) int(364129809)

    而在 php7的值為:

    int(364129809) int(0)

    請(qǐng)問,在 php7的環(huán)境下,應(yīng)該如何處理 0x.$str 使它同上面值一樣呢?

    解決辦法:

    PHP7開始,含十六進(jìn)制字符串不再被認(rèn)為是數(shù)字

    如果非要檢測(cè)字符串是否含十六進(jìn)制數(shù)字,官方建議的代碼是

    <?php $str = "0xffff"; $int = filter_var($str, FILTER_VALIDATE_INT, FILTER_FLAG_ALLOW_HEX); if (false === $int) {     throw new Exception("Invalid integer!"); } var_dump($int); // int(65535) ?>

    針對(duì)上述問題就應(yīng)該改成

    $t1 = 0x3FFFFFFF & (1 * (0xd5b42e11)); $t2 = 0x3FFFFFFF & (1 * (filter_var("0xd5b42e11", FILTER_VALIDATE_INT, FILTER_FLAG_ALLOW_HEX))); var_dump($t1,$t2);

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)