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

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

主站蜘蛛池模板: 大方县| 大同市| 昌黎县| 揭东县| 东台市| 夏邑县| 宜昌市| 凤庆县| 云林县| 犍为县| 蒲江县| 莱芜市| 武安市| 那曲县| 齐河县| 富蕴县| 山西省| 措勤县| 静安区| 隆安县| 竹北市| 连山| 夏河县| 西吉县| 宁夏| 甘孜| 虎林市| 泸州市| 荆门市| 德清县| 兴和县| 锦屏县| 九寨沟县| 文山县| 碌曲县| 苏尼特右旗| 泌阳县| 宜宾市| 同心县| 广河县| 九龙城区|