色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

探討PHP函數ip2long轉換IP時數值太大產生負數的解決方法

【造成原因】:Because php's integer type is signed, and many IP addresses will result in negative integers.
【解決辦法】:其官方手冊中提到,可以“you need to use the "%u" formatter of sprintf() or printf() to get the string representation of the unsigned IP address”
即,printf( '%u', ip2long( 'IP地址' ) );
或者將其先轉換為二進制然后在轉換為十進制,bindec( decbin( ip2long( 'IP地址' ) ) );
【測試】
$strIp = '182.118.0.0';

echo ip2long($strIp); //此時輸出的-1233780736
echo '<br/>';
echo bindec( decbin( ip2long( $strIp ) ) ); // 輸出3061186560,與MySQL函數輸出一致~

【注】:
number bindec ( string $binary_string ); //二進制轉換為十進制
string decbin ( int $number ); //十進制轉換為二進制

php技術探討PHP函數ip2long轉換IP時數值太大產生負數的解決方法,轉載需保留來源!

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

主站蜘蛛池模板: 历史| 刚察县| 宁乡县| 武夷山市| 广河县| 巴中市| 文安县| 凤山县| 定州市| 探索| 贞丰县| 临洮县| 松潘县| 固镇县| 宣恩县| 武邑县| 巴塘县| 临颍县| 囊谦县| 松桃| 永泰县| 万山特区| 北票市| 琼海市| 五家渠市| 滦平县| 客服| 桐庐县| 定兴县| 桐梓县| 门头沟区| 油尖旺区| 东海县| 右玉县| 呼伦贝尔市| 江源县| 禄丰县| 海安县| 陆河县| 安仁县| 前郭尔|