$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;
}