• 冒险村物语
  • 英雄无敌3塔防
  • 驾考家园手游

PHP的ip2long和long2ip函数的实现原理

2015-05-27

最近要做个十进制数字的可逆转换做邀请码,一直没搞清楚怎么弄的,实在太复杂了,今天弄IP时想到这个可以进行转换,于是研究了下原理:

主要是自己整理了下:


$ip = '12.34.56.78';$ips = explode('.', $ip);$result = 0;$result += $ips[0]';echo bindec(decbin(ip2long($ip)));echo '
';$str = '';$str .= intval($result/intval(pow(2, 24))) .'.';$str .= intval(($result&0x00FFFFFF)/intval(pow(2, 16))) .'.';$str .= intval(($result&0x0000FFFF)/intval(pow(2, 8))) .'.';$str .= intval($result&0x000000FF);echo $str;echo '
';echo long2ip($result);

以上输出的结果为:

20356923020356923012.34.56.7812.34.56.78


这只是实现的一种方法而已,还有其他的办法

我是想用类似的方法,可以直接把一个十进制数字转换为其他十进制数值并可逆,但遇到中间有很多0的数值时发现问题太多了,如 1000100




(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)

人气推荐

知识阅读

精彩推荐

  • 游戏
  • 软件
查看更多>>