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 相关文章推荐
PHP4实际应用经验篇(4)
Oct 09 PHP
windows xp下安装pear
Dec 02 PHP
PHP程序员编程注意事项
Apr 10 PHP
深入理解require与require_once与include以及include_once的区别
Jun 05 PHP
PHP使用CURL_MULTI实现多线程采集的例子
Jul 29 PHP
ThinkPHP实现带验证码的文件上传功能实例
Nov 01 PHP
php中return的用法实例分析
Feb 28 PHP
php使用curl获取header检测开启GZip压缩的方法
Aug 15 PHP
PHP levenshtein()函数用法讲解
Mar 08 PHP
PHP面向对象程序设计子类扩展父类(子类重新载入父类)操作详解
Jun 14 PHP
php利用ZipArchive类操作文件的实例
Jan 21 PHP
laravel框架分组控制器和分组路由实现方法示例
Jan 25 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求小于1000的所有水仙花数的代码
2012/01/10 PHP
三个类概括PHP的五种设计模式
2012/09/05 PHP
PHP MSSQL 分页实例
2016/04/13 PHP
php封装的page分页类完整实例代码
2020/02/01 PHP
JS控制显示隐藏兼容问题(IE6、IE7、IE8)
2010/04/01 Javascript
JqGrid web打印实现代码
2011/05/31 Javascript
含有CKEditor的表单如何提交
2014/01/09 Javascript
JS网页图片按比例自适应缩放实现方法
2014/01/15 Javascript
JavaScript中的Reflect对象详解(ES6新特性)
2016/07/22 Javascript
AngularJS 基础ng-class-even指令用法
2016/08/01 Javascript
JavaScript用JSONP跨域请求数据实例详解
2017/01/06 Javascript
Bootstrap多级菜单的实现代码
2017/05/23 Javascript
利用require.js与angular搭建spa应用的方法实例
2017/07/19 Javascript
微信、QQ、微博、Safari中使用js唤起App
2018/01/24 Javascript
使用Sonarqube扫描Javascript代码的示例
2018/12/26 Javascript
浅谈JavaScript闭包
2019/04/09 Javascript
微信小程序调用天气接口并且渲染在页面过程详解
2019/06/24 Javascript
ES6 Symbol在对象中的作用实例分析
2020/06/06 Javascript
在vue项目中封装echarts的步骤
2020/12/25 Vue.js
[01:24:34]2014 DOTA2华西杯精英邀请赛5 24 DK VS LGD
2014/05/25 DOTA
[46:43]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第三局
2016/02/28 DOTA
[53:44]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma BO3 第一场 1月31日
2021/03/11 DOTA
Python利用pyHook实现监听用户鼠标与键盘事件
2014/08/21 Python
python下10个简单实例代码
2017/11/15 Python
python3下pygame如何实现显示中文
2020/01/11 Python
python下载卫星云图合成gif的方法示例
2020/02/18 Python
基于PyQT实现区分左键双击和单击
2020/05/19 Python
英国最大的网上药品商店:Chemist Direct
2017/12/16 全球购物
全球最大的户外用品零售商之一:The House
2018/06/12 全球购物
怎么写好自荐信
2013/10/30 职场文书
护士在校生自荐信
2014/02/01 职场文书
酒店端午节促销方案
2014/02/18 职场文书
我的中国梦演讲稿500字
2014/08/19 职场文书
Python基础知识之变量的详解
2021/04/14 Python
Python基于百度API识别并提取图片中文字
2021/06/27 Python
Python使用plt.boxplot()函数绘制箱图、常用方法以及含义详解
2022/08/14 Python