在PHP中,唯一ID不是顺序的

时间:2016-06-22 05:34:15

标签: php mysql

我想创建一个数据库主键。我正在使用PHP uniqid()函数。

uniqid(php,true); 

基本上我想在数据库的学生表中添加学生ID

例如PHP-16-001

PHP 是3个字符的课程ID, 16 是年份, 001 是学生ID。

我可以通过“。”添加此内容。

$id = "php"."date('Y')".$i;

其中$ i是一个正在递增的变量但是当我从数据库中获取数据时我得到了

php16001

我怎样才能获得所有角色?

3 个答案:

答案 0 :(得分:1)

php中的字符串连接运算符是'。',因此要获得额外的' - '字符,请将它们添加到字符串中,请检查以下代码。您应该在数据库中将您的唯一ID插入“php-16-001”。确保你的$ i变量是一个字符串。

$id = "php-" . date('y-') . $i;

答案 1 :(得分:1)

更好的方法:

if($i < 9)
{
    $i='00'.$i;
}

$unique_id = "PHP-".date('Y')."-".$i;

答案 2 :(得分:1)

用一些你可以分割的字符分隔它们。

$id = sprintf("php-%s-%s", date('Y'), $i);

要将其“拆分”回各个块,请使用explode

$idParts = explode("-", $string);