【问题标题】:php unique alpha numeric idphp唯一的字母数字ID
【发布时间】:2011-03-15 14:30:57
【问题描述】:

我已经看过一些关于此的帖子,但没有什么可以完全适合我正在尝试做的事情。我几乎想在这个脚本中为客户生成一个新的 id。我想要做的是在我的数据库中添加一个新条目,获取 id,然后乘以 A1A1 或类似的东西。所以它会像

A1A1 - 1st id
A1A2 - 2nd id
A1A3 - 3rd id

(等等等等)。

有人知道我应该从哪里开始吗?

【问题讨论】:

  • 除了使用标准的自动增量或 uuid 之外,业务需要什么?
  • 您为什么要这样做?您可以使用 PHP 编辑 ID,例如 $id = 'A1A' . $id;
  • 你想要十六进制还是字母数字?你研究过 BASE64 编码吗?

标签: php hex unique identifier


【解决方案1】:

只需增加你的字符串:

$id = 'A1A1';

$new_id = ++ $id; // $new_id is now A1A2

See it on Ideone

【讨论】:

  • 嗯,我没想到会像 ++ 这么简单。非常感谢
  • 嗯,我试图做到这一点,这样我就可以从我的数据库中检索一个 id(比如 5),并将它乘以“A1A1”,但这似乎不起作用,我只是得到零,有什么建议吗?
【解决方案2】:

不确定这是否可行,但通常会根据当前微秒生成一些连续的十六进制数字。

uniqid();

http://www.php.net/manual/en/function.uniqid.php

【讨论】:

    【解决方案3】:

    如果您使用的是 SQL 数据库,我强烈建议您检查自动增量。例如,这里是auto-increment for mysql

    【讨论】:

    • 不是自动递增只是数字吗?
    【解决方案4】:

    您可以将整个 id 拆分为字母和数字。然后增加相应的数字并连接回来。如果您必须删除记录,请注意重新排列顺序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-20
      • 2021-11-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多