繁体   English   中英

在php中使用str_shuffle生成4位数的引脚,但有时会得到3位数

[英]generate 4 digit pin using str_shuffle in php but sometime get 3 digit number

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

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

您可以使用mt_rand(1000,9999)而不是str_shuffle

你可以这样: -

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;
 }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM