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 相关文章推荐
openPNE常用方法分享
Nov 29 PHP
php实现telnet功能示例
Apr 08 PHP
在WordPress中安装使用视频播放器插件Hana Flv Player
Jan 04 PHP
SSO单点登录的PHP实现方法(Laravel框架)
Mar 23 PHP
PHP随机数 C扩展随机数
May 04 PHP
php封装的mysqli类完整实例
Oct 18 PHP
PHP表单验证内容是否为空的实现代码
Nov 14 PHP
浅谈php中的访问修饰符private、protected、public的作用范围
Nov 20 PHP
php基于ob_start(ob_gzhandler)实现网页压缩功能的方法
Feb 18 PHP
PHP的mysqli_rollback()函数讲解
Jan 23 PHP
PHP实现的62进制转10进制,10进制转62进制函数示例
Jun 06 PHP
Laravel 中使用简单的方法跟踪用户是否在线(推荐)
Oct 30 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获取客户端真实IP地址的5种情况分析和实现代码
2014/07/08 PHP
PHP封装的MSSql操作类完整实例
2016/05/26 PHP
php实现PDO中捕获SQL语句错误的方法
2017/02/16 PHP
php 函数使用可变数量的参数方法
2017/05/02 PHP
Javascript 颜色渐变效果的实现代码
2013/10/01 Javascript
JavaScript分析、压缩工具JavaScript Analyser
2014/12/31 Javascript
JavaScript中指定函数名称的相关方法
2015/06/04 Javascript
jQuery 如何给Carousel插件添加新的功能
2016/04/18 Javascript
浅谈Nodejs应用主文件index.js
2016/08/28 NodeJs
使用jquery.qrcode.js生成二维码插件
2016/10/17 Javascript
jQuery中ajax错误调试分析
2016/12/01 Javascript
vue2.0之多页面的开发的示例
2018/01/30 Javascript
JS使用tween.js动画库实现轮播图并且有切换功能
2018/07/17 Javascript
webpack 3.X学习之多页面打包的方法
2018/09/04 Javascript
Phaser.js实现简单的跑酷游戏附源码下载
2018/10/26 Javascript
Webpack按需加载打包chunk命名的方法
2019/09/22 Javascript
vue点击自增和求和的实例代码
2019/11/06 Javascript
vue实现公共方法抽离
2020/07/31 Javascript
vue form表单post请求结合Servlet实现文件上传功能
2021/01/22 Vue.js
[00:35]2016完美“圣”典风云人物:冷冷宣传片
2016/12/08 DOTA
使用Python的package机制如何简化utils包设计详解
2017/12/11 Python
Python去除、替换字符串空格的处理方法
2018/04/01 Python
python opencv实现切变换 不裁减图片
2018/07/26 Python
Python Django给admin添加Action的方法实例详解
2019/04/29 Python
Python从list类型、range()序列简单认识类(class)【可迭代】
2019/05/31 Python
python实现逢七拍腿小游戏的思路详解
2020/05/26 Python
德国化妆品和天然化妆品网上商店:kosmetikfuchs.de
2017/06/09 全球购物
精选鞋类、服装和配饰的全球领先目的地:Bodega
2021/02/27 全球购物
幼师自荐信
2013/10/26 职场文书
加入学生会演讲稿
2014/04/24 职场文书
2014幼儿园教师个人工作总结
2014/11/08 职场文书
自愿离婚协议书2015
2015/01/26 职场文书
党支部工作总结2015
2015/04/01 职场文书
关于开学的感想
2015/08/10 职场文书
妇联2016年六一国际儿童节活动总结
2016/04/06 职场文书
python读取并查看npz/npy文件数据以及数据显示方法
2022/04/14 Python