生成包含2个字母和5个数字的字母数字字符串。的PHP

时间:2018-10-10 08:23:17

标签: php random

我正在使用以下代码生成唯一的5位代码。

$randomUniqueNumber = rand(10000,99999);

我需要将其更改为5位数字和2个字母的字母数字。

下面提供了一个字母数字,但不仅限于2个字母。

$generated = substr(md5(rand()),0,5);

如何生成一个5位数,两个字母的随机字符串?

1 个答案:

答案 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

https://3v4l.org/CV7fS

编辑:

阅读我正在使用以下代码生成唯一的5位代码。我建议改为通过从递增值更改基数来创建字符串,而不是将其随机(或随机排列)为您无疑会得到重复,并且要避免重复,您需要预先生成并存储整套 code 并从中挑选。

相反,请看诸如hashids之类的东西。