我正在使用以下代码生成唯一的5位代码。
$randomUniqueNumber = rand(10000,99999);
我需要将其更改为5位数字和2个字母的字母数字。
下面提供了一个字母数字,但不仅限于2个字母。
$generated = substr(md5(rand()),0,5);
如何生成一个5位数,两个字母的随机字符串?
答案 0 :(得分:4)
可能有几种方法可以实现,但是下面的详细说明可以帮助您前进。
<?php
// define your set
$nums = range(0, 9);
$alphas = range('a', 'z');
// shuffle sets
shuffle($nums);
shuffle($alphas);
// pick out only what you need
$nums = array_slice($nums, 0, 5);
$alphas = array_slice($alphas, 0, 2);
// merge them together
$set = array_merge($nums, $alphas);
// shuffle
shuffle($set);
// create your result
echo implode($set); //86m709g
编辑:
阅读我正在使用以下代码生成唯一的5位代码。我建议改为通过从递增值更改基数来创建字符串,而不是将其随机(或随机排列)为您无疑会得到重复,并且要避免重复,您需要预先生成并存储整套 code 并从中挑选。
相反,请看诸如hashids之类的东西。