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);
到此這篇關(guān)于PHP7中對十六進(jìn)制字符串處理的問題詳解的文章就介紹到這了,更多相關(guān)PHP7中對十六進(jìn)制字符串處理的問題內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
php截取字符串并保留完整xml標(biāo)簽的函數(shù)代碼
截取字符串并保留完整xml標(biāo)簽的php代碼,有需要的朋友可以參考下2013-02-02PHP實(shí)現(xiàn)數(shù)組遞歸轉(zhuǎn)義的方法
這篇文章主要介紹了PHP實(shí)現(xiàn)數(shù)組遞歸轉(zhuǎn)義的方法,包含了數(shù)組的遞歸調(diào)用與字符串的轉(zhuǎn)義方法,需要的朋友可以參考下2014-08-08PHP jpgraph庫的配置及生成統(tǒng)計(jì)圖表:折線圖、柱狀圖、餅狀圖
本篇文章主要介紹了PHP jpgraph庫的配置及生成統(tǒng)計(jì)圖表:折線圖、柱狀圖、餅狀圖等的相關(guān)知識。具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-05-05PHP進(jìn)階學(xué)習(xí)之類的自動加載機(jī)制原理分析
這篇文章主要介紹了PHP進(jìn)階學(xué)習(xí)之類的自動加載機(jī)制,較為詳細(xì)的分析了php使用__autoload方法實(shí)現(xiàn)類的自動加載原理與相關(guān)使用注意事項(xiàng),需要的朋友可以參考下2019-06-06php獲取通過http協(xié)議post提交過來xml數(shù)據(jù)及解析xml
php 如何獲取請求的xml數(shù)據(jù),對方通過http協(xié)議post提交過來xml數(shù)據(jù),php如何獲取到這些數(shù)據(jù)呢?2012-12-12php格式輸出文件var_export函數(shù)實(shí)例
這篇文章主要介紹了php格式輸出文件var_export函數(shù),以實(shí)例形式講述了格式輸出函數(shù)var_export的特性與具體用法,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2014-11-11