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


Posted in PHP onMarch 13, 2015

本文实例讲述了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 将图片按创建时间进行分类存储的实现代码
Jan 05 PHP
php的一些小问题
Jul 03 PHP
PHP反转字符串函数strrev()函数的用法
Feb 04 PHP
深入探讨<br />和 \r\n两者有什么区别??
Jun 05 PHP
php文件操作之小型留言本实例
Jun 20 PHP
详解PHP的Yii框架的运行机制及其路由功能
Mar 17 PHP
php+ajax+json 详解及实例代码
Dec 12 PHP
PHP面向对象程序设计方法实例详解
Dec 24 PHP
WAF的正确bypass
Jan 05 PHP
PHP微信H5支付开发实例
Jul 25 PHP
laravel 获取某个查询的查询SQL语句方法
Oct 12 PHP
使用php的mail()函数实现发送邮件功能
Jun 03 PHP
PHP获取一段文本显示点阵宽度和高度的方法
Mar 12 #PHP
PHP实现自动对图片进行滚动显示的方法
Mar 12 #PHP
PHP使用ffmpeg给视频增加字幕显示的方法
Mar 12 #PHP
PHP从FLV文件获取视频预览图的方法
Mar 12 #PHP
PHP简单获取视频预览图的方法
Mar 12 #PHP
php使用memcoder将视频转成mp4格式的方法
Mar 12 #PHP
PHP实现将视频转成MP4并获取视频预览图的方法
Mar 12 #PHP
You might like
PHP 中的面向对象编程:通向大型 PHP 工程的办法
2006/12/03 PHP
php 伪造本地文件包含漏洞的代码
2011/11/03 PHP
记录PHP错误日志 display_errors与log_errors的区别
2012/10/09 PHP
php导入csv文件碰到乱码问题的解决方法
2014/02/10 PHP
PHP开发微信支付的代码分享
2014/05/25 PHP
PHP和javascript常用正则表达式及用法实例
2014/07/01 PHP
php多任务程序实例解析
2014/07/19 PHP
php简单实现多维数组排序的方法
2016/09/30 PHP
jQuery获取浏览器中的分辨率实现代码
2013/04/23 Javascript
JS实现清除指定cookies的方法
2014/09/20 Javascript
原生JavaScript编写俄罗斯方块
2015/03/30 Javascript
$.extend 的一个小问题
2015/06/18 Javascript
JavaScript实现的圆形浮动标签云效果实例
2015/08/06 Javascript
利用JS生成博文目录及CSS定制博客
2016/02/10 Javascript
js遍历json的key和value的实例
2017/01/22 Javascript
vue.js树形组件之删除双击增加分支实例代码
2017/02/28 Javascript
vue的Virtual Dom实现snabbdom解密
2017/05/03 Javascript
jQuery常见面试题之DOM操作详析
2017/07/05 jQuery
详解vue-cli与webpack结合如何处理静态资源
2017/09/19 Javascript
vue router学习之动态路由和嵌套路由详解
2017/09/21 Javascript
mongoose更新对象的两种方法示例比较
2017/12/19 Javascript
Element-UI踩坑之Pagination组件的使用
2018/10/29 Javascript
JS获取动态添加元素的方法详解
2019/07/31 Javascript
es6中let和const的使用方法详解
2020/02/24 Javascript
Python编写一个闹钟功能
2017/07/11 Python
pycharm运行和调试不显示结果的解决方法
2018/11/30 Python
Python 元组拆包示例(Tuple Unpacking)
2019/12/24 Python
python使用配置文件过程详解
2019/12/28 Python
15个Pythonic的代码示例(值得收藏)
2020/10/29 Python
机械制造专业个人的自我评价
2013/12/28 职场文书
个人简历中的自我评价怎么写
2014/01/26 职场文书
《桂林山水》教学反思
2014/02/08 职场文书
开学季活动策划方案
2014/02/28 职场文书
员工廉洁自律承诺书
2014/05/26 职场文书
讲党性心得体会
2014/09/03 职场文书
java设计模式--建造者模式详解
2021/07/21 Java/Android