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 相关文章推荐
桌面中心(一)创建数据库
Oct 09 PHP
html中select语句读取mysql表中内容
Oct 09 PHP
php预定义常量
Dec 25 PHP
php一些公用函数的集合
Mar 27 PHP
提高PHP编程效率 引入缓存机制提升性能
Feb 15 PHP
PHP中如何判断AJAX提交的数据
Feb 05 PHP
Yii操作数据库的3种方法
Mar 11 PHP
跟我学Laravel之安装Laravel
Oct 15 PHP
thinkPHP自动验证、自动添加及表单错误问题分析
Oct 17 PHP
php利用gd库为图片添加水印
Nov 09 PHP
wordpress网站转移到本地运行测试的方法
Mar 15 PHP
老生常谈PHP面向对象之解释器模式
May 17 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
微信公众平台天气预报功能开发
2014/07/06 PHP
Yii2框架RESTful API 格式化响应,授权认证和速率限制三部分详解
2016/11/10 PHP
php中get_object_vars()在数组的实例用法
2021/02/22 PHP
分享12个实用的jQuery代码片段
2016/03/09 Javascript
浅谈javascript中的数据类型转换
2016/12/27 Javascript
Vue + Webpack + Vue-loader学习教程之功能介绍篇
2017/03/14 Javascript
jQuery中animate()的使用方法及解决$(”body“).animate({“scrollTop”:top})不被Firefox支持的问题
2017/04/04 jQuery
微信小程序 es6-promise.js封装请求与处理异步进程
2017/06/12 Javascript
深入探究node之Transform
2017/07/20 Javascript
webpack4 CSS Tree Shaking的使用
2018/09/03 Javascript
详解JS实现系统登录页的登录和验证
2019/04/29 Javascript
用node.js写一个jenkins发版脚本
2019/05/21 Javascript
在vue中实现禁止回退上一步,路由不存历史记录
2020/07/22 Javascript
NodeJS和浏览器中this关键字的不同之处
2021/03/03 NodeJs
[02:09]DOTA2辉夜杯 EHOME夺冠举杯现场
2015/12/28 DOTA
[47:48]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第三局
2016/02/28 DOTA
python发腾讯微博代码分享
2014/01/10 Python
python实现下载文件的三种方法
2017/02/09 Python
Python使用Tkinter实现机器人走迷宫
2018/01/22 Python
python实现简易数码时钟
2021/02/19 Python
pyqt5 lineEdit设置密码隐藏,删除lineEdit已输入的内容等属性方法
2019/06/24 Python
Python+Appium实现自动化测试的使用步骤
2020/03/24 Python
Pycharm如何自动生成头文件注释
2020/11/14 Python
CSS3 函数技巧 用css 实现js实现的事情(clac Counters Tooltip)
2017/08/15 HTML / CSS
外科实习自我鉴定
2013/10/06 职场文书
应用化学专业职业生涯规划书
2013/12/31 职场文书
消防器材管理制度
2014/01/28 职场文书
店长职务说明书
2014/02/04 职场文书
行政执法队伍作风整顿个人剖析材料
2014/10/11 职场文书
债务追讨授权委托书范本
2014/10/16 职场文书
你会写请假条吗?
2019/06/26 职场文书
公文格式,规则明细(新手收藏)
2019/07/23 职场文书
5种方法告诉你如何使JavaScript 代码库更干净
2021/09/15 Javascript
HTML5+CSS+JavaScript实现捉虫小游戏设计和实现
2021/10/16 HTML / CSS
python中urllib包的网络请求教程
2022/04/19 Python
前端传参数进行Mybatis调用mysql存储过程执行返回值详解
2022/08/14 MySQL