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
PHP spl_autoload_register实现自动加载研究
Dec 06 PHP
ajax在joomla中的原生态应用代码
Jul 19 PHP
php中将字符串转为HTML的实体引用的一个类
Feb 03 PHP
mac下安装nginx和php
Nov 04 PHP
php中使用Ajax时出现Error(c00ce56e)的详细解决方案
Nov 03 PHP
php生成过去100年下拉列表的方法
Jul 20 PHP
php实现的debug log日志操作类实例
Jul 12 PHP
PHP+MySQL实现模糊查询员工信息功能示例
Jun 01 PHP
php微信开发之关键词回复功能
Jun 13 PHP
PHP的Trait机制原理与用法分析
Oct 18 PHP
Laravel ORM 数据model操作教程
Oct 21 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利用COM对象访问SQLServer、Access
2006/10/09 PHP
php 在文件指定行插入数据的代码
2010/05/08 PHP
PHP在字符断点处截断文字的实现代码
2011/04/21 PHP
php把session写入数据库示例
2014/02/26 PHP
检测codeigniter脚本消耗内存情况的方法
2015/03/21 PHP
PHP使用SOAP扩展实现WebService的方法
2016/04/01 PHP
JSON PHP中,Json字符串反序列化成对象/数组的方法
2018/05/31 PHP
PHP文件上传小程序 适合初学者学习!
2019/05/23 PHP
WordPress免插件实现面包屑导航的示例代码
2020/08/20 PHP
js封装的textarea操作方法集合(兼容很好)
2010/11/16 Javascript
js 动态为textbox添加下拉框数据源的方法
2014/04/24 Javascript
jQuery中slideUp 和 slideDown 的点击事件
2015/02/26 Javascript
JS实现文字链接感应鼠标淡入淡出改变颜色的方法
2015/02/26 Javascript
Jquery组件easyUi实现手风琴(折叠面板)示例
2016/08/23 Javascript
详解打造 Vue.js 可复用组件
2017/03/24 Javascript
Angular.JS中的this指向详解
2017/05/17 Javascript
vue导出html、word和pdf的实现代码
2018/07/31 Javascript
js中关于Blob对象的介绍与使用
2019/11/29 Javascript
Python和Ruby中each循环引用变量问题(一个隐秘BUG?)
2014/06/04 Python
Djang中静态文件配置方法
2015/07/30 Python
Python模块包中__init__.py文件功能分析
2016/06/14 Python
Python实现八大排序算法
2016/08/13 Python
利用PyCharm操作Github(仓库新建、更新,代码回滚)
2019/12/18 Python
python 爬取古诗文存入mysql数据库的方法
2020/01/08 Python
Python安装tar.gz格式文件方法详解
2020/01/19 Python
Django URL参数Template反向解析
2020/11/24 Python
详解canvas.toDataURL()报错的解决方案全都在这了
2020/03/31 HTML / CSS
武汉东之林科技有限公司机试
2013/09/17 面试题
大课间体育活动方案
2014/03/12 职场文书
论文评语大全
2014/04/29 职场文书
小学生春游活动方案
2014/08/20 职场文书
2014年项目工作总结
2014/11/24 职场文书
2014年工程工作总结
2014/11/25 职场文书
联谊活动总结范文
2015/05/09 职场文书
郭明义电影观后感
2015/06/08 职场文书
springboot拦截器无法注入redisTemplate的解决方法
2021/06/27 Java/Android