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

yipeiwu_com4年前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数组函数序列之asort() - 对数组的元素值进行升序排序,保持索引关系

asort() 定义和用法 asort() 函数对数组进行排序并保持索引关系。主要用于对那些单元顺序很重要的结合数组进行排序。 可选的第二个参数包含了附加的排序标识。 如果成功则返回 T...

php中current、next与reset函数用法实例

本文实例讲述了php中current、next与reset函数用法。分享给大家供大家参考。 具体代码如下: 复制代码 代码如下:$array=array('step one','step...

PHP字符串中特殊符号的过滤方法介绍

有时候我们会遇到过滤字符串中特殊字符的问题,本文提供了一个处理特殊字符串的方法,可能有遗漏,如果读者发现了可以留言告诉我,谢谢。复制代码 代码如下:function strFilter(...

PHP获取字符流中第一个不重复字符的方法

本文实例讲述了PHP获取字符流中第一个不重复字符的方法。分享给大家供大家参考,具体如下: 问题 请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符”...

php缓冲输出实例分析

本文实例讲述了php缓冲输出用法。分享给大家供大家参考。具体分析如下: ob_start([string output_callback])- 打开输出缓冲区 所有的输出信息不在直接发送...