range 函数,array_merge 函数的应用(php 62进制转换算法,适用于短链接系统)(转载)
<?php /** * @method 转化数字为url * @author taylor *///拼接0-9 a-z A-Z 此处已经改进,用range('a','z') 取代 $basicNum = range(0, 9); $basiclittle= range('a','z'); $basicLittle = range('A','Z'); $basic=array_merge($basicNum,$basiclittle,$basicLittle); /* 生成62个字符*/////////////*****************转换url***********/////////////////////// $num=62*62*62*62*62-1234; echo '传入数字为',$num,'<br />'; $flag=1; $i=0; while($flag){ $num=intval($num); $int=floor($num/62);//取得整数部分 $mod[$i]=$num%62;//取得余数部分 if($int==0){//当被除数为0时候结束 $flag=0; } // echo '整数部分为: ',$int,' 余数为:',$mod[$i];//输出算法 // echo '<hr />'; $num=$int; $i++; } $numarray=array_reverse($mod);//反转数组,因为余数是反过来的 foreach($numarray as $k=>$v){ $shortUrl[$k]=$basic[$v];//62位数字对应basic62个数据,转换数字为字母 } $shortUrl=implode('', $shortUrl); echo '最终链接为:',$shortUrl; ?>为了尊重作者,原文地址:http://www.pztai.com/?p=7

浙公网安备 33010602011771号