EMS快递单号生成算法

浏览:3638 最后更新:2016-11-16 16:09 分类:函数
<?php
function emsnum($ems,$num){
$fri=substr($ems,2,8);
$head = substr($ems,0,2);
$tail = substr($ems,-2);

for($i=1;$i<=$num;$i++){
$num3=substr($fri,0,1);
$num4=substr($fri,1,1);
$num5=substr($fri,2,1);
$num6=substr($fri,3,1);
$num7=substr($fri,4,1);
$num8=substr($fri,5,1);
$num9=substr($fri,6,1);
$num0=substr($fri,7,1);
$mid=8*$num3+6*$num4+4*$num5+2*$num6+3*$num7+5*$num8+9*$num9+7*$num0;
$res=11-($mid%11);
if($res==10){
$res=0;
}
if($res==11){
$res=5;
}
$emsres[$i]=$head.$fri.$res.$tail;
$fri+=1;
$len=strlen($fri);
if($len<8){
for($j=$len;$j<8;$j++){
$fri="0".$fri;
}
}
}
return $emsres;
}

$arr = emsnum("1014662951580","20");
echo "<pre>";
var_dump($arr);die;
?>
评论( 相关
后面还有条评论,点击查看>>