欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

生成要排除的号码

程序员文章站 2022-05-22 10:06:07
...
生成要排除的号码

说明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;
}




?>
相关标签: php