读书人

获取用来短网址的62进制的数

发布时间: 2013-04-12 18:33:12 作者: rapoo

获取用于短网址的,62进制的数。

<?php//制造62进制的数function make62num($num){if(57731386986<$num) return $num.'';$num_arr  = array(56800235584,916132832,14776336,238328,3844,62);$str = '0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM';$num_str = '';foreach($num_arr as $n){if($num>$n){$num_idx = intval($num/$n);$num = $num % $n;$num_str.=$str[$num_idx];}else if($num_str!='') $num_str.='0';}return $num_str.$str[$num];}//还原62进制的数function get62num($num){$str = '0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM';$len = strlen($num);$rtn = 0;while($len>0){$cur = substr($num,0,1);$idx = strpos($str, $cur);$rtn += pow(62,$len-1)*$idx;$num = substr($num,1);$len = strlen($num);}return $rtn;}for($i=0;$i<50;$i++){$num = rand(1,57731386986);$num1 = make62num($num);$rnum = get62num($num1);echo $num.'=>'.$num1.chr(10).$rnum.chr(10).'--------------'.chr(10);}

读书人网 >编程

热点推荐