我一直在和uniqid一起玩,但它开始给我13个长串。
我正在寻找一个100的前缀,之后最多有6个随机数
感谢任何帮助赞赏
function generate_order(){
$order_ref="";
$a=uniqid(prefix,100);
$num4=array('0','1','2','3','4','5','6','7','8','9');
$num=rand(0,9);
$num2=rand(0,9);
$num3=rand(0,9);
shuffle($num4);
//now the final
$order_ref = $num4[0].$num4[3].$num.$num4[1].$num2.$num4[2].$num3.$num4[4];
}
答案 0 :(得分:1)
我已经为上面的代码重新制作了一些代码:
shuffle()
?这与执行rand(1,9)
rand(10000000, 99999999)
会得到相同的结果。$a=uniqid(prefix,100)
未在您的功能中使用uniqid()
中的前缀应为字符串。return
。您应该使用return $order_ref;
希望这些能帮助你修复你的功能。
$order_ref = '100'.rand(100000, 999999);
如果您打算将此作为订单参考,我怀疑,我不建议只使用随机数。这将使你很有可能重复数字。
相反,我建议使用$order_ref = '100'.date('u').rand(10, 99);
。这将根据当前时间为您提供一个随机数,从而防止(或至少最小化)重复订单参考的可能性。
答案 1 :(得分:0)
如果您在结果前需要100,请使用前缀输入所需的字符串
使用uniqid(100)
可以获得所需的结果。
答案 2 :(得分:0)
我将如何做 1.定义你的前缀 2.生成随机数 3.康卡特
$prefix="some_prefix";
$rand_no = rand(1,100);
$rand_no_with_prefix = $prefix.$rand_no;
Google可以提供准确的语法和功能。 这只是我要遵循的基本逻辑。 希望能帮助到你。 如果需要,步骤4也将是解析(如果连续的随机数需要是整数)