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

转载于:https://www.cnblogs.com/hanjiansky/archive/2012/05/02/2479812.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值