【问题标题】:How to combine date and number to form an ID?(php)如何结合日期和数字形成一个ID?(php)
【发布时间】:2017-11-30 02:50:35
【问题描述】:

我想拥有和 id,其中前 8 个数字是日期(yyyymmdd),其余的将是每天重置的数字增量。

例如:

  id
----------
2017301101

2017301102

2017301103

2017011201

请注意,日期更改时会重置 ID。如何在 php 中实现这一点?

【问题讨论】:

  • 为什么(在地球上)你想使用 id 作为日期和格式?以及使用的 RDBMS 是什么?
  • 上次我检查没有第 30 个月。
  • 我不知道为什么这个问题被否决了
  • @sumit 不是我,但否决按钮用于未显示任何研究工作的问题(检查);不清楚或没用(检查)..
  • 心情不好,给你@mrblock7777 echo date('YmdH'); 3v4l.org/ojuUn

标签: php html


【解决方案1】:

要创建此 id,请使用 PHP date function,如下所示。

function generateId($existingIds) {
    $currentDate = date('Ymd');

    $id = 1;

    while (in_array($currentDate . sprintf('%02d', $id),$existingIds)) {
        $id++;
    }

    return $currentDate . sprintf('%02d', $id);
}

我使用sprintf 将数字格式化为始终至少为两位数(01、10、100)。之后,我使用in_array 检查生成的 id 是否不在数组中。

然后你可以通过提供现有 id 的数组来调用这个函数,就像这样。

$idArray = [];
array_push($idArray,generateId($idArray));

在这里你生成一个 id 并立即将其推送到数组中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-03
    • 2017-09-30
    • 2017-08-28
    • 1970-01-01
    相关资源
    最近更新 更多