首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何以递增顺序插入英文字母

如何以递增顺序插入英文字母
EN

Stack Overflow用户
提问于 2012-10-15 13:21:08
回答 3查看 259关注 0票数 3

嗨,我有如下的表格结构

代码语言:javascript
复制
id   --auto increment id
alphabet
user_id
name

在添加时,我需要将英文字母作为增量顺序插入到用户中,就像这样的A,B,C,....Z,AA,AB,AC,...AZ,BA,BB,BC,.....BZ

我需要像这样

代码语言:javascript
复制
    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         .  

耽误您时间,实在对不起。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-10-15 14:23:09

使用php实现这一点很简单,请检查下面的代码

代码语言:javascript
复制
$i = 'A';
echo $i;
echo PHP_EOL;
while($i != 'ZZ')
{
 echo ++$i;
 echo PHP_EOL;
}

或者在http://codepad.org/QB4kyV7U中查看结果

票数 1
EN

Stack Overflow用户

发布于 2012-10-15 13:48:52

查看这篇类似的文章:

Algorithm to get the excel-like column name of a number

这里有一个很好的简单的递归函数(基于零索引的数字,意味着0 == A,1 == B,等等)……

代码语言:javascript
复制
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的数字...

票数 1
EN

Stack Overflow用户

发布于 2012-10-15 13:24:05

听起来很像这篇文章

MYSQL: how to "reorder" a table

当您可以使用排序来随心所欲地输出数据时,是否绝对有必要执行您想要的操作?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12889696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档