想了解PHP生成唯一的促销/优惠/折扣码(附源码)的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于php实现商品的折扣效果的相关问题,此外,我们还将为您介绍关于3种php生成唯一id的方法、
想了解PHP生成唯一的促销/优惠/折扣码(附源码)的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于php实现商品的折扣效果的相关问题,此外,我们还将为您介绍关于3种php生成唯一id的方法、3种php生成唯一id的方法_PHP、php – Laravel – 生成唯一的订单号、php – 如何生成唯一的6位数代码的新知识。
本文目录一览:- PHP生成唯一的促销/优惠/折扣码(附源码)(php实现商品的折扣效果)
- 3种php生成唯一id的方法
- 3种php生成唯一id的方法_PHP
- php – Laravel – 生成唯一的订单号
- php – 如何生成唯一的6位数代码
PHP生成唯一的促销/优惠/折扣码(附源码)(php实现商品的折扣效果)
每一个电子商务网站,现在有一种或多种类型的优惠/折扣/优惠券系统,给大家分享一下如何在PHP生成唯一的促销/折扣码。主要是实现一个优惠码系统,可用于跟踪用户来自某些特定的来源,例如有些主机促销的时候链接到别的页面会有优惠码生成,还有更多的促销代码等。因此,今天将讨论这样一个优惠码的实现过程
考虑的需求
代码应该很容易记住,因此保持短的长度是一个好主意,使用户可以很容易地记住它
没有特殊字符!它应该是字母数字组合,因为它会永远是为用户更容易记住
长度推广/折扣代码的正确。没有一个标准的长度,因为它取决于你想生成的长度,例如,如果你想生成1000代码的代码,那么你需要在至少4个字符代码。促销/优惠码长度通常为4到8个字符,但它取决于您的要求。
那好吧,让我们开始吧!让我们来看看代码,然后我会详细解释。它很容易
<div><adata="69396"id="copybut69396" onclick="doCopy('code69396')"> 代码如下:
3种php生成唯一id的方法
《PHP实战:3种PHP生成唯一id的方法》要点:
本文介绍了PHP实战:3种PHP生成唯一id的方法,希望对您有用。如果有疑问,可以联系我们。
PHP教程小编在网上查了许多关于PHP生成唯一id办法的文章,发现有很多的办法,特整理本文与大家分享PHP生成唯一id的解决办法,希望大家喜欢.
PHP教程1、md5(time() . mt_rand(1,1000000));
PHP教程 这种办法有一定的概率会出现重复
PHP教程2、PHP内置函数uniqid()
PHP教程 uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID.
PHP教程 w3school参考手册有一句话:"由于基于系统时间,通过该函数生成的 ID 不是最佳的.如需生成绝对唯一的 ID,请使用 md5() 函数".
PHP教程下面办法返回结果类似:5DDB650F-4389-F4A9-A100-501EF1348872
PHP教程
function uuid() {
if (function_exists ( 'com_create_guid' )) {
return com_create_guid ();
} else {
mt_srand ( ( double ) microtime () * 10000 ); //optional for PHP 4.2.0 and up.随便数播种,4.2.0以后不需要了.
$charid = strtoupper ( md5 ( uniqid ( rand (),true ) ) ); //根据当前时间(微秒计)生成唯一id.
$hyphen = chr ( 45 ); // "-"
$uuid = '' . //chr(123)// "{"
substr ( $charid,8 ) . $hyphen . substr ( $charid,8,4 ) . $hyphen . substr ( $charid,12,16,20,12 );
//.chr(125);// "}"
return $uuid;
}
}
PHP教程com_create_guid()是PHP自带的生成唯一id办法,PHP5之后貌似已经没有了.
3、官方uniqid()参考手册有用户提供的办法,结果类似:{E2DFFFB3-571E-6CFC-4B5C-9FEDAAF2EFD7}
PHP教程
public function create_guid($namespace = '') {
static $guid = '';
$uid = uniqid("",true);
$data = $namespace;
$data .= $_SERVER['REQUEST_TIME'];
$data .= $_SERVER['HTTP_USER_AGENT'];
$data .= $_SERVER['LOCAL_ADDR'];
$data .= $_SERVER['LOCAL_PORT'];
$data .= $_SERVER['REMOTE_ADDR'];
$data .= $_SERVER['REMOTE_PORT'];
$hash = strtoupper(hash('ripemd128',$uid . $guid . md5($data)));
$guid = '{' .
substr($hash,8) .
'-' .
substr($hash,4) .
'-' .
substr($hash,12) .
'}';
return $guid;
}
PHP教程以上就是PHP生成唯一id的三种方案,希望对大家的学习有所赞助.
小编培训学院每天发布《PHP实战:3种PHP生成唯一id的方法》等实战技能,PHP、MysqL、LINUX、APP、JS,CSS全面培养人才。
3种php生成唯一id的方法_PHP
小编在网上查了许多关于php生成唯一id方法的文章,发现有很多的方法,特整理本文与大家分享php生成唯一id的解决方法,希望大家喜欢。
1、md5(time() . mt_rand(1,1000000));
这种方法有一定的概率会出现重复
2、php内置函数uniqid()
uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID.
立即学习“PHP免费学习笔记(深入)”;
w3school参考手册有一句话:"由于基于系统时间,通过该函数生成的 ID 不是最佳的。如需生成绝对唯一的 ID,请使用 md5() 函数"。
下面方法返回结果类似:5DDB650F-4389-F4A9-A100-501EF1348872
function uuid() { if (function_exists ( ''com_create_guid'' )) { return com_create_guid (); } else { mt_srand ( ( double ) microtime () * 10000 ); //optional for php 4.2.0 and up.随便数播种,4.2.0以后不需要了。 $charid = strtoupper ( md5 ( uniqid ( rand (), true ) ) ); //根据当前时间(微秒计)生成唯一id. $hyphen = chr ( 45 ); // "-" $uuid = '''' . //chr(123)// "{" substr ( $charid, 0, 8 ) . $hyphen . substr ( $charid, 8, 4 ) . $hyphen . substr ( $charid, 12, 4 ) . $hyphen . substr ( $charid, 16, 4 ) . $hyphen . substr ( $charid, 20, 12 ); //.chr(125);// "}" return $uuid; } }
com_create_guid()是php自带的生成唯一id方法,php5之后貌似已经没有了。
3、官方uniqid()参考手册有用户提供的方法,结果类似:{E2DFFFB3-571E-6CFC-4B5C-9FEDAAF2EFD7}
public function create_guid($namespace = '''') { static $guid = ''''; $uid = uniqid("", true); $data = $namespace; $data .= $_SERVER[''REQUEST_TIME'']; $data .= $_SERVER[''HTTP_USER_AGENT'']; $data .= $_SERVER[''LOCAL_ADDR'']; $data .= $_SERVER[''LOCAL_PORT'']; $data .= $_SERVER[''REMOTE_ADDR'']; $data .= $_SERVER[''REMOTE_PORT'']; $hash = strtoupper(hash(''ripemd128'', $uid . $guid . md5($data))); $guid = ''{'' . substr($hash, 0, 8) . ''-'' . substr($hash, 8, 4) . ''-'' . substr($hash, 12, 4) . ''-'' . substr($hash, 16, 4) . ''-'' . substr($hash, 20, 12) . ''}''; return $guid; }
以上就是php生成唯一id的三种方案,希望对大家的学习有所帮助。
php – Laravel – 生成唯一的订单号
我正在尝试在用户到达create方法时生成唯一的订单号.订单号在种子中生成如下,并且需要看起来像这样
种子
foreach(range(1,25) as $index)
{
DB::table('orders')->insert([
'user_id' => rand(1,25),
'order_nr' => '#' . sprintf("%08d", $index),
'price_sum' => $faker->randomNumber($nbDigits = 4, $strict = false) . '.' . $faker->randomNumber($nbDigits = 2, $strict = false),
'status' => $faker->randomElement(['paid', 'pending', 'Failed']),
'created_at' => Carbon::Now(),
'updated_at' => Carbon::Now(),
]);
}
订单号看起来像#00000001或#00000002.现在,当用户到达我的控制器中的create方法时,需要创建此序列中的新唯一订单号.我怎样才能做到这一点?控制器目前看起来像这样:
public function create()
{
$order = new Order;
$order->user_id = Auth()->id();
$order->order_nr =
dd($order);
return view('steps.order');
}
它需要检查最新的订单号,并在该订单号上创建一个1.比如说有25个订单,最后一个是#00000025,下一个需要创建的订单需要#00000026.我怎样才能做到这一点?
解决方法:
尝试执行以下操作
$order = new Order;
$order->user_id = Auth()->id();
$latestOrder = App\Order::orderBy('created_at','DESC')->first();
$order->order_nr = '#'.str_pad($latestOrder->id + 1, 8, "0", STR_PAD_LEFT);
$order->save();
这里我假设id是自动递增的.有关更多详细信息,请参阅str_pad方法
php – 如何生成唯一的6位数代码
我想生成6位数的唯一代码但我希望前3个是字母表,最后3个是数字,如下例所示.
AAA111
ABD156
DFG589
ERF542...
请帮助创建具有以上组合的代码..
下面是我的代码..
public function generaterandomString() {
$characters = '1234567890';
$length = 6;
$charactersLength = strlen($characters);
$randomString = '';
for ($i = 0; $i < $length; $i++) {
$randomString .= $characters[rand(0, $charactersLength - 1)];
}
return $randomString;
}
解决方法:
你想要前3个字符作为字母,最后3个字符作为数字?然后你应该彻底处理它们.
function genRandstr(){
$a = $b = '';
for($i = 0; $i < 3; $i++){
$a .= chr(mt_rand(65, 90)); // see the ascii table why 65 to 90.
$b .= mt_rand(0, 9);
}
return $a . $b;
}
您还可以使用函数参数来添加动态性,对于随机顺序,您可以执行以下操作:
// PHP >= 7 code
function genRandStr(int $length = 6, string $prefix = '', string $suffix = ''){
for($i = 0; $i < $length; $i++){
$prefix .= random_int(0,1) ? chr(random_int(65, 90)) : random_int(0, 9);
}
return $prefix . $suffix;
}
使用mt_rand()
for PHP version< 7,否则建议使用random_int()
.
您仍然需要检查可能的冲突并将其置于while循环中.
今天关于PHP生成唯一的促销/优惠/折扣码(附源码)和php实现商品的折扣效果的讲解已经结束,谢谢您的阅读,如果想了解更多关于3种php生成唯一id的方法、3种php生成唯一id的方法_PHP、php – Laravel – 生成唯一的订单号、php – 如何生成唯一的6位数代码的相关知识,请在本站搜索。
本文标签: