首頁  >  文章  >  後端開發  >  PHP函數ip2long()實作IP轉換成整數時出現負數的解決方法

PHP函數ip2long()實作IP轉換成整數時出現負數的解決方法

WBOY
WBOY原創
2016-07-25 08:57:401559瀏覽
  1. $ip = "192.168.1.2";
  2. $ip_n = ip2long($ip);
  3. echo $ip_n; //得到 -1062731518
  4. ?>
复制代码

原因: IP转换成的整型值太大超出了整型的范围,所以变成负数。

需要做如下的修改,修改为$ip_n = bindec(decbin(ip2long($ip)))即可得到无符号的整型数。

例如:

  1. $ip = "192.168.1.2";
  2. $ip_n = bindec(decbin(ip2long($ip)));
  3. //by bbs.it-home.org
  4. echo $ip_n; //得到 3232235778
  5. ?>
复制代码


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn