Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用hasid生成唯一的5位数客户编号_Php_Laravel_Hashids - Fatal编程技术网

Php 如何使用hasid生成唯一的5位数客户编号

Php 如何使用hasid生成唯一的5位数客户编号,php,laravel,hashids,Php,Laravel,Hashids,您好,我想生成唯一的五位数客户编号仅包含0…9中的数字 我正在使用这个软件包: 我能够生成id,但它包含字母表,就像一个…z 这就是我如何生成的 $id = 12; $hashids = new Hashids\HashIds('eabangalore'); return $id = $hashids->encode(1, $id, 99); // output QBsLFJw 但我希望输出像这样的2234546643,…等等 我怎样才能做到这一点呢?我认为您

您好,我想生成
唯一的
五位数
客户编号
仅包含
0…9中的数字

我正在使用这个软件包:

我能够生成
id
,但它包含
字母表
,就像一个…z

这就是我如何生成的

   $id = 12;
   $hashids = new Hashids\HashIds('eabangalore');  
   return $id = $hashids->encode(1, $id, 99);    // output QBsLFJw
但我希望输出像这样的2234546643,…等等


我怎样才能做到这一点呢?

我认为您实际上无法使用此软件包创建从100000到999999的真正独特的客户编号

我想这样的解决方案会更好:

$idWasNotCreated = true;
while ($idWasNotCreated)
    $id = mt_rand(100000, 999999);
    if (User::where('customer_number', $id)->first()) {
        $idWasNotCreated = false;
    }
}

为什么不使用10000到99999之间的随机数呢?github链接告诉您如何使用自定义的“字母表”。。。也就是hashid将使用的唯一字符