php短网址和数字之间相互转换的方法

yipeiwu_com6年前PHP代码库

本文实例讲述了php短网址和数字之间相互转换的方法。分享给大家供大家参考。具体实现方法如下:

<?php
/**
 * 将数字转为短网址代码
 *
 * @param int $number 数字
 * @return string 短网址代码
 */
function generate_code($number) {
  $out  = "";
  $codes = "abcdefghjkmnpqrstuvwxyz23456789ABCDEFGHJKMNPQRSTUVWXYZ";
  while ($number > 53) {
    $key  = $number % 54;
    $number = floor($number / 54) - 1;
    $out  = $codes{$key}.$out;
  }
  return $codes{$number}.$out;
}
/**
 * 将短网址代码转为数字
 *
 * @param string $code 短网址代码
 * @return int 数字
 */
function get_num($code){
  $codes = "abcdefghjkmnpqrstuvwxyz23456789ABCDEFGHJKMNPQRSTUVWXYZ";
  $num = 0;
  $i = strlen($code);
 for($j=0;$j<strlen($code);$j++){
    $i--;
    $char = $code{$j};
    $pos = strpos($codes,$char);
    $num += (pow(54, $i) * ($pos + 1));
  }
  $num--;
  return $num;
}

希望本文所述对大家的php程序设计有所帮助。

相关文章

浅析php变量作用域的一些问题

昨晚就与到这么一个问题,是全局变量在函数中的问题。今天搜索了一下,发现一篇相当不错的文章,讲了php中的变量作用域。是一位网友翻译的在这贴一下: 变量范围变量的范围即它定义的上下文背景(...

浅析php过滤html字符串,防止SQL注入的方法

批量过滤post,get敏感数据复制代码 代码如下:$_GET = stripslashes_array($_GET);$_POST = stripslashes_array($_POS...

使用zend studio for eclipse不能激活代码提示功能的解决办法

其实这是项目没有经过zend studio for eclipse 编译(应该是建立索引吧)导致的,那么就只要让它重新编译项目代码即可。 操作如下: 随便新建一个项目,比如test。然后...

PHP实现字符串翻转功能的方法【递归与循环算法】

PHP实现字符串翻转功能的方法【递归与循环算法】

本文实例讲述了PHP实现字符串翻转功能的方法。分享给大家供大家参考,具体如下: 提到实现字符串反转的方法,大家都会想到用循环。确实,循环是一个内存占用量小且实现简单的方式。但是还有一种方...

php实现数据库的增删改查

php实现数据库的增删改查

1.查询: 数据的显示,这里就可以嵌入php来进行数据的输出 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitiona...