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网站提速三大“软”招
Oct 09 PHP
PHP+DBM的同学录程序(1)
Oct 09 PHP
PHP安装攻略:常见问题解答(三)
Oct 09 PHP
一步一步学习PHP(7) php 字符串相关应用
Mar 05 PHP
php基础教程 php内置函数实例教程
Aug 21 PHP
php面向对象中的魔术方法中文说明
Mar 04 PHP
PHP中使用asort进行中文排序失效的问题处理
Aug 18 PHP
PHP使用内置dir类实现目录遍历删除
Mar 31 PHP
学习php设计模式 php实现策略模式(strategy)
Dec 07 PHP
Thinkphp和onethink实现微信支付插件
Apr 13 PHP
谈谈PHP连接Access数据库的注意事项
Aug 12 PHP
基于PHP+Mysql简单实现了图书购物车系统的实例详解
Aug 06 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
ThinkPHP实例化模型的四种方法概述
2014/08/22 PHP
PHP多进程编程实例
2014/10/15 PHP
开启PHP的伪静态模式
2015/12/31 PHP
基于jquery的表头固定的若干方法
2011/01/27 Javascript
简单的Jquery全选功能
2013/11/07 Javascript
jQuery中[attribute^=value]选择器用法实例
2014/12/31 Javascript
jquery中ajax使用error调试错误的方法
2015/02/08 Javascript
JavaScript中return false的用法
2015/03/12 Javascript
jQuery插件slides实现无缝轮播图特效
2015/04/17 Javascript
javascript判断变量是否有值的方法
2015/04/20 Javascript
JQuery导航菜单选择特效
2016/04/11 Javascript
JavaScript中闭包的写法和作用详解
2016/06/29 Javascript
js实现图片左右滚动效果
2017/02/27 Javascript
关于Webpack dev server热加载失败的解决方法
2018/02/22 Javascript
在node环境下parse Smarty模板的使用示例代码
2019/11/15 Javascript
node.js制作一个简单的登录拦截器
2020/02/10 Javascript
浅析Python中signal包的使用
2015/11/13 Python
Python之列表的插入&amp;替换修改方法
2018/06/28 Python
python排序函数sort()与sorted()的区别
2018/09/18 Python
详解将Django部署到Centos7全攻略
2018/09/26 Python
python中如何实现将数据分成训练集与测试集的方法
2019/09/13 Python
Python3实现将一维数组按标准长度分隔为二维数组
2019/11/29 Python
python进行OpenCV实战之画图(直线、矩形、圆形)
2020/08/27 Python
通过Django Admin+HttpRunner1.5.6实现简易接口测试平台
2020/11/11 Python
美国知名男士服饰品牌:Brooks Brothers(布克兄弟)
2016/08/25 全球购物
加拿大知名的国际儿童品牌:Hatley
2016/11/09 全球购物
见习期自我鉴定
2013/11/07 职场文书
医学类个人求职信范文
2014/02/05 职场文书
公司活动方案范文
2014/03/06 职场文书
学生意外伤害赔偿协议书
2014/09/17 职场文书
国庆节标语大全
2014/10/08 职场文书
党员廉洁自律个人总结
2015/02/13 职场文书
劳动仲裁调解书
2015/05/20 职场文书
校园歌手大赛主持词
2015/07/03 职场文书
辞职信怎么写?你都知道吗?
2019/06/24 职场文书
企业管理不到位检讨书
2019/06/27 职场文书