php生成區間字母,A-Z或者A-AZ,或者B-CC等等任意組合


$v = createStartToEnd("A","AZ");
print_r($v);
function createStartToEnd($s='',$e='')
{
$_start = $s;
$_end = $e;
$_start = strtoupper($_start);
$_end = strtoupper($_end);
$startlen = strlen($_start);
$endlen = strlen($_end);
$startsubstr =substr($_start, -1);
$substr =substr($_end, -1);

if ($startlen > 2 || $endlen > 2) {
echo '最大2位字母組合';
return;
}elseif ($startlen > $endlen) {
echo '開始字母數量不能大於結束字母數量';
return;
}elseif ($startlen ==1 && $endlen ==1) {
$startord =ord($_start);
$strord =ord($_end);
if ($str < $_start) {
echo '開始字母順序不能排在結束字母之后';
return;
}
}elseif ($startlen ==2 && $endlen ==2) {
//第一位判斷
$firststartstr = substr($_start,0,$startlen-1);
$firstendstr = substr($_end,0,$endlen-1);
$firststartord =ord($firststartstr);
$firstendord =ord($firstendstr);
if ($firstendord < $firststartord) {
echo '開始字母順序不能排在結束字母之后';
return;
}
//第二位判斷
$startord =ord($startsubstr);
$strord =ord($substr);
if ($strord < $startord) {
echo '開始字母順序不能排在結束字母之后';
return;
}
}

if ($endlen >1 && $substr == 'Z') {
$firststr = substr($_end,0,$endlen-1);
$newfirststr = chr(ord($firststr)+1);
$key = $newfirststr."A";
}elseif ($endlen >1 && $substr != 'Z') {
$firststr = substr($_end,0,$endlen-1);
$substr = chr(ord($substr)+1);
$key = $firststr.$substr;
}

if($endlen == 1 && $substr == 'Z'){
$key = "AA";
}elseif($endlen == 1 && $substr != 'Z'){
$key = chr(ord($substr)+1);
}
for($i = $_start; $i != $key; $i++)
{
$result[] = $i;
}
return $result;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM