在PHP中使用str_shuffle生成4位数字的密码,但有时会获得3位数字的密码

时间:2019-03-23 07:26:25

标签: php

我正在尝试使用str_shuffle函数生成一个4位数的引脚,并且它的工作正常,唯一的问题是有时我也得到了3位数的引脚。如何解决这个问题?

substr(str_shuffle("0123456789"), 0, 4);

2 个答案:

答案 0 :(得分:0)

您可以使用mt_rand(1000,9999) 代替str_shuffle

答案 1 :(得分:0)

您可以这样获得:-

function gen_code($code_len, $char = FALSE) {
  $chars = '0123456789';
  if ($char) {
   $chars = 'AB0CD1EF2GH3IJ4KL5MN6OP7QR8ST9UVWXYZ';
  }
  $code = '';
  $i = 0;
  while ($i < $code_len) {
   $code .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);
   $i++;
  }
  return $code;
 }