ホームページ  >  記事  >  php教程  >  生成要排除的号码

生成要排除的号码

PHP中文网
PHP中文网オリジナル
2016-05-26 08:21:033974ブラウズ

生成要排除的号码

说明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=&#39;&#39;;
	foreach($arr as $v2){
		if(!empty($v2)&&strlen(intval($v2))==$len){
			$ret[]=&#39;(&#39;.$v2.",	&#39;normal&#39;,	&#39;normal&#39;,	1)";
		}
	}
	$tmp=&#39;INSERT INTO `ids` (`id`, `status`, `group_status`, `rand`) VALUES &#39;.implode(&#39;,&#39;,$ret).&#39;;&#39;;
	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=&#39;&#39;;
	if($n%2==1){return $ret;}
	
	for($i=1;$i<10;$i++){
		$t=str_pad(&#39;&#39;,$n-4,$i);
		for($j=0;$j<10;$j++){
			$ret[]=$t.$j.$j.$t;
		}
	}

	return getString($ret); 	
}

function ababab($n=6){
	$ret=&#39;&#39;;
	if($n%2==1){return $ret;}
	$ab=ab(1);
	foreach($ab as $v){
		$t=str_pad(&#39;&#39;,$n,$v);	
		$ret[]=$t;
	}
	return getString($ret); 	
}

function abcde($n=5){
	$ret=&#39;&#39;;
	$tmp=0;
	for($i=0;$i<10;$i++){
		$k=0;
		$t=$j=&#39;&#39;;
		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=&#39;&#39;;
	if($n%2==0){return $ret;}
	for($i=1;$i<10;$i++){
		$t=str_pad(&#39;&#39;,$n-3,$i);
		for($j=0;$j<10;$j++){
			$ret[]=$t.$j.$t;
		}
	}
	return getString($ret); 	
}
function axxxxx($n=5){
	$ret=&#39;&#39;;
	for($i=0;$i<10;$i++){
		$t=str_pad(&#39;&#39;,$n-1,$i);
		for($j=1;$j<10;$j++){
			$ret[]=$j.$t;
		}
	}
	return getString($ret); 	
}
function xxxxa($n=5){
	$ret=&#39;&#39;;
	for($i=1;$i<10;$i++){
		$t=str_pad(&#39;&#39;,$n-1,$i);
		for($j=0;$j<10;$j++){
			$ret[]=$t.$j;
		}
	}
	return getString($ret); 	
}
function axxxb($n=5){
	$ret=&#39;&#39;;
	$ab=ab(1);
	for($i=0;$i<10;$i++){
		$t=str_pad(&#39;&#39;,$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=&#39;&#39;;
	$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=&#39;&#39;;
	$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=&#39;&#39;;
	for($i=1;$i<10;$i++){
		$ret[]=str_pad(&#39;&#39;,$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(&#39;12&#39;,&#39;23&#39;,&#39;34&#39;,45,56,67,78,89);
	}else{
		$ret=array(&#39;01&#39;,&#39;12&#39;,&#39;23&#39;,&#39;34&#39;,45,56,67,78,89);
	}
	return $ret;
}




?>

                               


                   

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。