色尼玛亚洲综合影院,亚洲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時數值太大產生負數的解決方法,轉載需保留來源!

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

主站蜘蛛池模板: 固安县| 安阳县| 武汉市| 边坝县| 大余县| 桂阳县| 丁青县| 苏尼特左旗| 西安市| 威远县| 梁山县| 景洪市| 东源县| 横山县| 荥阳市| 蒲江县| 额敏县| 翁牛特旗| 武隆县| 永州市| 翁源县| 攀枝花市| 南溪县| 万盛区| 临泉县| 凉山| 灵武市| 自贡市| 刚察县| 柞水县| 兴宁市| 元江| 荆州市| 庆元县| 江陵县| 西昌市| 香格里拉县| 古丈县| 滨海县| 喀喇沁旗| 汉沽区|