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游戏编程25个脚本代码
Feb 08 PHP
PHP strip_tags()去除HTML、XML以及PHP的标签介绍
Feb 18 PHP
php使用array_rand()函数从数组中随机选择一个或多个元素
Apr 28 PHP
PHP中上传多个文件的表单设计例子
Nov 19 PHP
php递归法读取目录及文件的方法
Jan 30 PHP
php实现比较两个文件夹异同的方法
Jun 18 PHP
6个超实用的PHP代码片段
Aug 10 PHP
PHP7.1新功能之Nullable Type用法分析
Sep 26 PHP
thinkPHP中配置的读取与C方法详解
Dec 05 PHP
自制PHP框架之设计模式
May 07 PHP
PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能示例
May 23 PHP
PHP的mysqli_set_charset()函数讲解
Jan 23 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 empty() 检查一个变量是否为空
2011/11/10 PHP
java解析json方法总结
2019/05/16 PHP
PHP进阶学习之Geo的地图定位算法详解
2019/06/19 PHP
关于laravel框架中的常用目录路径函数
2019/10/23 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
2020/04/04 PHP
javascript的onchange事件与jQuery的change()方法比较
2009/09/28 Javascript
nodejs教程 安装express及配置app.js文件的详细步骤
2013/05/11 NodeJs
Javascript中的默认参数详解
2014/10/22 Javascript
JavaScript学习笔记之Cookie对象
2015/01/22 Javascript
JavaScript控制按钮可用或不可用的方法
2015/04/03 Javascript
jQuery Easyui datagrid行内实现【添加】、【编辑】、【上移】、【下移】
2016/12/19 Javascript
过期软件破解办法实例详解
2017/01/04 Javascript
JS实现队列的先进先出功能示例
2017/05/10 Javascript
vue2.0 根据状态值进行样式的改变展示方法
2018/03/13 Javascript
微信小程序开发背景图显示功能
2018/08/08 Javascript
浅谈Vuex注入Vue生命周期的过程
2019/05/20 Javascript
jquery树形插件zTree高级使用详解
2019/08/16 jQuery
Node.js系列之安装配置与基本使用(1)
2019/08/30 Javascript
layui清空,重置表单数据的实例
2019/09/12 Javascript
Python下的Mysql模块MySQLdb安装详解
2014/04/09 Python
Python中暂存上传图片的方法
2015/02/18 Python
自动化Nginx服务器的反向代理的配置方法
2015/06/28 Python
Python中的urllib模块使用详解
2015/07/07 Python
Python中文分词工具之结巴分词用法实例总结【经典案例】
2017/04/15 Python
浅谈Python实现贪心算法与活动安排问题
2017/12/19 Python
Python实现的列表排序、反转操作示例
2019/03/13 Python
python sqlite的Row对象操作示例
2019/09/11 Python
pytorch掉坑记录:model.eval的作用说明
2020/06/23 Python
python 下载m3u8视频的示例代码
2020/11/11 Python
学生学习总结的自我评价
2013/10/22 职场文书
关于礼仪的演讲稿
2014/01/04 职场文书
党员民主生活会对照检查材料思想汇报
2014/09/28 职场文书
领导欢迎词致辞
2015/01/23 职场文书
留学推荐信英文范文
2015/03/26 职场文书
高中英语教学反思范文
2016/03/02 职场文书
pandas中DataFrame检测重复值的实现
2021/05/26 Python