php短网址和数字之间相互转换的方法

yipeiwu_com7年前PHP代码库

本文实例讲述了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 miniBB中文乱码问题解决方法

有时候一分钱难死英雄汉, 这话不假, 在技术上也是一样,如系统调试了半天, PHP就是不认mysql, 到头来只是忘了安装php5-mysql, miniBB因为简约而美丽,但国内使用人...

php通过pecl方式安装扩展的实例讲解

1、安装pecl及创建快捷键(若安装php时已带可忽略这步安装步骤) # cd /usr/local/php/bin/ //可查看是否已带有pecl # wget http://...

PHP去除空数组且数组键名重置的讲解

php空数组的话,能够运用 php函数array_filter() . array array_filter ( array [, callback callback] ) ar...

MyEclipse常用配置图文教程

MyEclipse常用配置图文教程

  MyEclipse有很多功能,但是我们经常用到的功能其实并不是特别多,在这里将一些有用的小技巧记录下来,作为备忘录,同时也希望能够对他人有些许帮助吧。 一 工作组(working s...