• 技术文章 >后端开发 >php教程

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

    2016-07-21 15:08:28原创544
    【造成原因】: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 '
    ';
    echo bindec( decbin( ip2long( $strIp ) ) ); // 输出3061186560,与MySQL函数输出一致~

    【注】:
    number bindec ( string $binary_string ); //二进制转换为十进制
    string decbin ( int $number ); //十进制转换为二进制

    www.bkjia.comtruehttp://www.bkjia.com/PHPjc/327463.htmlTechArticle【造成原因】:Because PHP's integer type is signed, and many IP addresses will result in negative integers. 【解决办法】:其官方手册中提到,可以“you need...

    php入门到就业线上直播课:查看学习

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    快捷开发Web应用及小程序:点击使用

    支持亿级表,高并发,自动生成可视化后台。

    专题推荐:探讨 PHP 函数 ip2long 转换 数值 太大 产生 负数 解决 方法 造成 原因 Because
    上一篇:php遍历所有文件及文件夹的方法深入解析_PHP教程 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 关于phpcms 中头像下传 那位高手说上怎么实现的• php文件上传类与详解(1/2)_PHP教程• 50条规则提高PHP开发提高效率技巧_PHP教程• php不同编码下的字符串长度区分_PHP教程• 『PHP』PHP截断函数mb_substr()使用介绍_PHP教程
    1/1

    PHP中文网