嗨,我有如下的表格结构
id --auto increment id
alphabet
user_id
name在添加时,我需要将英文字母作为增量顺序插入到用户中,就像这样的A,B,C,....Z,AA,AB,AC,...AZ,BA,BB,BC,.....BZ。
我需要像这样
id alphabet user_id name
------------------------------------------
1 A 1 name-1
2 B 1 name-2
. . . .
. . . .
26 Z 1 name-n
27 A 2 name-1
28 B 2 name-2
. . . .
. . . .
52 Z 2 name-52
53 AA 2 name-53
. . . .
. . . .
. . . .
. AZ 2 . 耽误您时间,实在对不起。
发布于 2012-10-15 14:23:09
使用php实现这一点很简单,请检查下面的代码
$i = 'A';
echo $i;
echo PHP_EOL;
while($i != 'ZZ')
{
echo ++$i;
echo PHP_EOL;
}或者在http://codepad.org/QB4kyV7U中查看结果
发布于 2012-10-15 13:48:52
查看这篇类似的文章:
Algorithm to get the excel-like column name of a number
这里有一个很好的简单的递归函数(基于零索引的数字,意味着0 == A,1 == B,等等)……
function getNameFromNumber($num) {
$numeric = $num % 26;
$letter = chr(65 + $numeric);
$num2 = intval($num / 26);
if ($num2 > 0) {
return getNameFromNumber($num2 - 1) . $letter;
} else {
return $letter;
}
}
And if you want it one indexed (1 == A, etc):
function getNameFromNumber($num) {
$numeric = ($num - 1) % 26;
$letter = chr(65 + $numeric);
$num2 = intval(($num - 1) / 26);
if ($num2 > 0) {
return getNameFromNumber($num2) . $letter;
} else {
return $letter;
}
}测试了从0到10000的数字...
发布于 2012-10-15 13:24:05
https://stackoverflow.com/questions/12889696
复制相似问题