>  기사  >  백엔드 개발  >  PHP 함수 ip2long()은 IP를 정수로 변환할 때 음수 문제에 대한 솔루션을 구현합니다.

PHP 함수 ip2long()은 IP를 정수로 변환할 때 음수 문제에 대한 솔루션을 구현합니다.

WBOY
WBOY원래의
2016-07-25 08:57:401600검색
  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으로 문의하세요.