本文实例讲述了php短网址和数字之间相互转换的方法。分享给大家供大家参考。具体实现方法如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
<?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程序设计有所帮助。