国产三级农村妇女在线,国产精品毛片a∨一区二区三区,国产乱子伦视频大全,国产精品色拉拉,国产欧美日韩一区二区三区,

首頁(yè) > 技術(shù) > IOS開發(fā)

PHP7中對(duì)十六進(jìn)制字符串處理的問題詳解

IOS開發(fā) 2023-02-16 22:22:05

本篇文章由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);

到此這篇關(guān)于PHP7中對(duì)十六進(jìn)制字符串處理的問題詳解的文章就介紹到這了,更多相關(guān)PHP7中對(duì)十六進(jìn)制字符串處理的問題內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

TAg

加載中~

本網(wǎng)站LOGO受版權(quán)及商標(biāo)保護(hù),版權(quán)登記號(hào):國(guó)作登字-2022-F-10126915,未經(jīng)湖南木星科技官方許可,嚴(yán)禁使用。
Copyright ? 2012-2022 湖南木星科技有限公司(木星網(wǎng))版權(quán)所有
轉(zhuǎn)載內(nèi)容版權(quán)歸作者及來源網(wǎng)站所有,本站原創(chuàng)內(nèi)容轉(zhuǎn)載請(qǐng)注明來源,商業(yè)媒體及紙媒請(qǐng)先聯(lián)系:aishangyiwan@126.com

工信部備案號(hào):湘ICP備19012813號(hào)-5