Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP函数ip2long()实现IP转换成整型时出现负数的解决方法

PHP函数ip2long()实现IP转换成整型时出现负数的解决方法

WBOY
WBOYasal
2016-07-25 08:57:401600semak imbas
  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. ?>
复制代码


Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn