
我正在开发一个活动组织网站.在这里,当用户注册一个事件时,他将获得一个唯一的随机数(10位数),我们用它来生成条形码并将其邮寄给他.现在,
>我想为每个注册的活动提供唯一的号码.
>也随机
一种解决方案是获取数组中的所有随机数并使用PHP rand(1000000000,9999999999)生成随机数并循环并检查所有值.获取不等于数组中任何值的第一个值,并将其添加到数据库中.
但我认为可能有更好的解决方案.有什么建议吗?
最佳答案你的逻辑在技术上并不是错误的.但是,如果您的应用程序吸引了大量用户,那么就资源和计算时间而言,获取所有随机数可能会变得不必要地昂贵.我建议另一种方法,你生成一个随机数,然后对数据库进行检查.
function generatebarcodeNumber() { $number = mt_rand(1000000000,9999999999); // better than rand() // call the same function if the barcode exists already if (barcodeNumberExists($number)) { return generatebarcodeNumber(); } // otherwise,it's valID and can be used return $number;}function barcodeNumberExists($number) { // query the database and return a boolean // for instance,it might look like this in Laravel return User::wherebarcodeNumber($number)->exists();} 总结 以上是内存溢出为你收集整理的php – 如何为laravel中的每个用户生成唯一的随机值并将其添加到数据库全部内容,希望文章能够帮你解决php – 如何为laravel中的每个用户生成唯一的随机值并将其添加到数据库所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)