Maison  >  Article  >  développement back-end  >  PHP函数ip2long()实现IP转换成整型时出现负数的解决方法

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

WBOY
WBOYoriginal
2016-07-25 08:57:401559parcourir
  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. ?>
复制代码


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn