探讨PHP函数ip2long转换IP时数值太大产生负数的解决方法

 更新时间:2013年06月06日 09:54:46   投稿:jingxian  
本篇文章是对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函数ip2long转换IP时数值太大产生负数的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 基于PHP实现邮件实时通知功能

    基于PHP实现邮件实时通知功能

    随着企业化的管理越来越规范,各种项目管理系统中,都需要加入到邮件实时通知功能,所以在项目中如何整合发邮件功能,其实也是很重要的一点。本文为大家介绍了PHP实现邮件实时通知功能的示例代码,需要的可以参考一下
    2022-04-04
  • 解决PHP4.0 和 PHP5.0类构造函数的兼容问题

    解决PHP4.0 和 PHP5.0类构造函数的兼容问题

    以下是对解决PHP4.0和PHP5.0类构造函数兼容问题的方法进行了详细的分析介绍,需要的朋友可以过来参考一下
    2013-08-08
  • php中&&和||逻辑运算符的高级简写(缩写条件)用法由浅入深讲解

    php中&&和||逻辑运算符的高级简写(缩写条件)用法由浅入深讲解

    php中if进行多条件判断时,使用逻辑运算符&&和||(and和or),这样的写法很常见也很熟悉。&&和||还有高级简写(缩写条件)用法,比如单独一行中“条件A||条件B”进行了什么操作?本文将由浅入深详细讲解php中&&和||逻辑运算符的高级简写(缩写条件)用法。
    2022-11-11
  • php 字符转义 注意事项

    php 字符转义 注意事项

    今天碰到一个处理文件特殊字符的事情,再次注意到这个问题
    2009-05-05
  • 如何使用SublimeText3配置 PHP IDE环境

    如何使用SublimeText3配置 PHP IDE环境

    这篇文章主要介绍了如何使用SublimeText3配置 PHP IDE环境,并使用Xdebug进行调试,喜欢使用SublimeText的同学,可以参考下
    2021-04-04
  • php模板函数 正则实现代码

    php模板函数 正则实现代码

    有些空闲,就弄了下template函数,比较粗糙。主要是利用正则表达式,把模板文件(html文件)转换成php文件,从而实现前后台分离,即是所谓的mvc思想了
    2012-10-10
  • PDO版本问题 Invalid parameter number: no parameters were bound

    PDO版本问题 Invalid parameter number: no parameters were bound

    发现在客户的某个PHP版本下,执行某类操作的时候,总是会报如下错误 Invalid parameter number: no parameters were bound,经google,发现是php版本过低导致
    2013-01-01
  • 深入理解PHP几个算法:PHP冒泡、PHP二分法、PHP求素数、PHP乘法表

    深入理解PHP几个算法:PHP冒泡、PHP二分法、PHP求素数、PHP乘法表

    本篇文章是对PHP冒泡、PHP二分法、PHP求素数、PHP乘法表进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • PHP中Echo结构的用法

    PHP中Echo结构的用法

    PHP echo严格来说是一个语言结构(language construct)而不是一个函数,echo的功用是用来输出字串,是使用率非常高的一个语言结构,特别是未使用样版模式的系统,与echo类似的还有print,两者差别并不大,普通的时候,其实使用echo就可以了
    2022-06-06
  • PHP7正式版测试,性能惊艳!

    PHP7正式版测试,性能惊艳!

    本周迎来2015年编程语言界的两件大事,Swift7 开源, PHP7 发布,这两件大事,都是可以载入相应的编程语言的史册级的事件,感兴趣的小伙伴们可以参考一下
    2015-12-12

最新评论