生成要排除的号码
程序员文章站
2022-05-22 10:06:07
...
生成要排除的号码
说明x代表相同的数字,A和B代表不同的数字,其中10000号为官方特服号。
说明x代表相同的数字,A和B代表不同的数字,其中10000号为官方特服号。
1.五位的乐助号需要保留以下号段
xxxxx、xxxxa、axxxx、xxaxx、xxxab、abxxx、axxxb、abcde、edcba
2.六位的乐助号需要保留以下号段
xxxxxx、xxxxab、xxxxxa、axxxxx、abxxxx、axxxxb、abcdef、fedcba 、ababab、xxaaxx
3.7位的乐助号需要保留以下号段
xxxxxxx、xxxxxab、xxxxxxa、axxxxxx、abxxxxx、axxxxxb、abcdefg、gfedcba、xxxaxxx
7位数以下的保留这些号段的,如果是8位以上的依次递增的关系。
*/
1. [文件] createNoID.php
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <?php /* 生成要排除的号码 说明x代表相同的数字,A和B代表不同的数字,其中10000号为官方特服号。 1.五位的乐助号需要保留以下号段 xxxxx、xxxxa、axxxx、xxaxx、xxxab、abxxx、axxxb、abcde、edcba 2.六位的乐助号需要保留以下号段 xxxxxx、xxxxab、xxxxxa、axxxxx、abxxxx、axxxxb、abcdef、fedcba 、ababab、xxaaxx 3.7位的乐助号需要保留以下号段 xxxxxxx、xxxxxab、xxxxxxa、axxxxxx、abxxxxx、axxxxxb、abcdefg、gfedcba、xxxaxxx 7位数以下的保留这些号段的,如果是8位以上的依次递增的关系。 */ $num=6; /**/ $t[]=$a1=x($num); $t[]=$a2=xxab($num); $t[]=$a3=abxx($num); $t[]=$a4=axxxb($num); $t[]=$a5=xxxxa($num); $t[]=$a6=axxxxx($num); $t[]=$a7=xxaxx($num); $t[]=$a8=abcde($num); $t[]=$a9=ababab($num); $t[]=$aa=xxaaxx($num); $t[0]=$marr=array_merges($t,$num); print_r($marr); //echo sql($marr,$num); function sql($arr,$len){ $ret=''; foreach($arr as $v2){ if(!empty($v2)&&strlen(intval($v2))==$len){ $ret[]='('.$v2.", 'normal', 'normal', 1)"; } } $tmp='INSERT INTO `ids` (`id`, `status`, `group_status`, `rand`) VALUES '.implode(',',$ret).';'; echo $tmp; } function array_merges($t,$len){ $tmp=array(); //$sum=0; foreach($t as $k=>$v){ if(!empty($v)){ foreach($v as $k1=>$v1){ if(!empty($v1) && !in_array($v1,$tmp)&&strlen(intval($v1))==$len)$tmp[]=$v1; } } } return $tmp; } function getString($t){ return $t; } function xxaaxx($n=6){ $ret=''; if($n%2==1){return $ret;} for($i=1;$i<10;$i++){ $t=str_pad('',$n-4,$i); for($j=0;$j<10;$j++){ $ret[]=$t.$j.$j.$t; } } return getString($ret); } function ababab($n=6){ $ret=''; if($n%2==1){return $ret;} $ab=ab(1); foreach($ab as $v){ $t=str_pad('',$n,$v); $ret[]=$t; } return getString($ret); } function abcde($n=5){ $ret=''; $tmp=0; for($i=0;$i<10;$i++){ $k=0; $t=$j=''; for($m=$i;($k<=$n);$m++){ if(strlen($t)>$n)break; if($k<$n){ $k++; $t.=$m; $j=$m.$j; }elseif($k==$n){ $ret[]=$t; $ret[]=$j; break; } } } $ret[]=$t; $ret[]=$j; return getString($ret); } function xxaxx($n=5){ $ret=''; if($n%2==0){return $ret;} for($i=1;$i<10;$i++){ $t=str_pad('',$n-3,$i); for($j=0;$j<10;$j++){ $ret[]=$t.$j.$t; } } return getString($ret); } function axxxxx($n=5){ $ret=''; for($i=0;$i<10;$i++){ $t=str_pad('',$n-1,$i); for($j=1;$j<10;$j++){ $ret[]=$j.$t; } } return getString($ret); } function xxxxa($n=5){ $ret=''; for($i=1;$i<10;$i++){ $t=str_pad('',$n-1,$i); for($j=0;$j<10;$j++){ $ret[]=$t.$j; } } return getString($ret); } function axxxb($n=5){ $ret=''; $ab=ab(1); for($i=0;$i<10;$i++){ $t=str_pad('',$n-2,$i); foreach($ab as $v){ $a=substr($v,0,1); $b=substr($v,1,1); $ret[]=$a.$t.$b; } } return getString($ret); } function abxx($n=5){ $ret=''; $ab=ab(1); for($i=0;$i<10;$i++){ foreach($ab as $v){ $ret[]=str_pad($v,$n,$i,STR_PAD_RIGHT); } } return getString($ret); } function xxab($n=5){ $ret=''; $ab=ab(0); for($i=1;$i<10;$i++){ foreach($ab as $v){ $ret[]=str_pad($v,$n,$i,STR_PAD_LEFT); } } return getString($ret); } //xxxxx function x($n=5){ $ret=''; for($i=1;$i<10;$i++){ $ret[]=str_pad('',$n,$i); } return getString($ret); ; } function ab($s1=0){ for($i=0;$i<10;$i++){ for($j=0;$j<10;$j++){ $ret[]=$i.$j; } } return $ret; } function ab_bak($s=1){ if($s){ $ret=array('12','23','34',45,56,67,78,89); }else{ $ret=array('01','12','23','34',45,56,67,78,89); } return $ret; } ?>