欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

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

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

          具體問題:

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

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

          int(364129809) int(364129809)

          而在 php7的值為:

          int(364129809) int(0)

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

          解決辦法:

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

          如果非要檢測字符串是否含十六進(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) ?>

          針對上述問題就應(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號-2    滬公網(wǎng)安備31011702889846號