php生成随机字母数字
㈠ php函数随机文字
把你函数中的
string
函数换成
mbstring
的函数,就应该不会出乱码了。
比如
strlen
换成
mb_strlen。
具体用到什么函数不知道,所已不能作具体回答。
还有,可以用程序随机生成汉字字串:
<?php
function
getChineseChar()
{
$unidec
=
rand(hexdec('4e00'),
hexdec('9fa5'));
$unichr
=
''
.
$unidec
.
';';
$zhcnchr
=
mb_convert_encoding($unichr,
"UTF-8",
"HTML-ENTITIES");
return
$zhcnchr;
}
function
getRandStr($len)
{
$str
=
'';
for($i=0;$i<$len;$i++)
{
$str
=
$str
.
getChineseChar();
}
return
$str;
}
echo
getRandStr(4);
?>
不过,如果是用于验证,不推荐这种做法,因为随机生成的汉字大多比较生僻,很难输入。
㈡ Php中生成6位随机数并显示
Php中生成6位随机数并显示实现如下:
1、使用shuffle函数生成随机数。
<?php
$arr=range(100000,999999);
shuffle($arr);
foreach($arras$values)
{
echo$values." ";//显示随机数
}
?>2、使用array_unique函数生成随机数。
<?php
$arr=array();
while(count($arr)<10)
{
$arr[]=rand(1,10);
$arr=array_unique($arr);
}echoimplode(" ",$arr);
?>
(2)php生成随机字母数字扩展阅读:
PHP生成随机数的两种方法:
1、rand()函数:
//无参数:rand()函数用户获取随机数。
echo rand() . " ";//得到一个不定位数的随机数
//带参数:rand($min,$max),$min表示从XX开始取值,$max表示最大只能为XX。
echo rand(5, 15);//在5~15之间取一个数
注意:mt_rand() 用法跟rand()类似,但是mt_rand()的执行效率更高。
2、使用array_flip函数生成随机数,可以去掉重复值。
㈢ php生成随机数字,范围1-100,每次生成一个数字,可以重复
echomt_rand(1,100);
请使用rand函数
intrand(int$min,int$max)
使用循环生成,假如想生成512个数字,就可以像这样:
$num = 1;//初始化一个变量为1
for($i = 1; $i <= 512; $i++)//这个是看你要生成多少个数字,然后循环生成
{
if($num >= 100)
$num = 1;//若变量的数字大于一百,则返回变成1
echo $num."</br>";//输出变量数字,即生成的数字,后面的</br>是换行
$num++;//然后将变量加1,即在前面生成的数字基础上加一
}
(3)php生成随机字母数字扩展阅读:
密码学安全伪随机性。其定义为,给定随机样本的一部分和随机算法,不能有效的演算出随机样本的剩余部分。
真随机性。其定义为随机样本不可重现。实际上只要给定边界条件,真随机数并不存在,可是如果产生一个真随机数样本的边界条件十分复杂且难以捕捉(比如计算机当地的本底辐射波动值),可以认为用这个方法演算出来了真随机数。
㈣ php怎样生成一个32位的随机字符串
如用户注册生成随机密码,用户重置密码也需要生成一个随机的密码。随机密码也就是一串固定长度的字符串。下面介绍生成随机字符串的三种基本方法:
㈤ 如何用php随机生成字母
for ($i = 1; $i <= 4; $i++) {
echo chr(rand(97, 122));
}
97~122是小写的英文字母
65~90是大写的
㈥ php 如何随机生成指定数字和概率
亲,你可以这样做呦!~~
如果只有这三个数,是不好弄出 0:85% 1:5% 2:10%的
但是你如果想提高某个数字出现的概率,你可以适当让这个数组增多。
你可以这样写:
<?php
//定义一个数组,里面有85个0
$num0=array_fill(0,85,0);
//定义一个数组,里面有5个1
$num1=array_fill(1,5,1);
//定义一个数组,里面有10个2
$num2=array_fill(2,10,2);
//总数组,里面总共100个元素
$allNum=array_merge($num0,$num1,$num2);
//随机取一个元素
$randKey=array_rand($allNum);
$randnum=$allNum[$randKey];
//以上就可以实现出现0的概率是85%出现1的概率是5%出现2的概率是10%了,因为一共一百个数,里面有85个是0,5个是1,10个是2
希望可以帮到你呦!~如果有不正确的地方,欢迎指正!~~
本人博客:https://www.boboidea.com ,欢迎交流学习!~~
㈦ php 生成随机数
$rand=md5(microtime(true));
echo $rand;
㈧ php:如何生成随机的唯一字母数字字符串
1. 自己写代码产生随机的数字和字母组合,每产生1个去数据库查询该随机码是否已存在,如果已存在,则重新产生,直到不重复为止。
缺点:产生速度慢,还要查询数据库,当数据量大的时候,可能重复的机率会比较高,要查询多次数据库.
2. guid,该方法应该是用的比较多的。
优点:使用简单方便,不用自己编写额外的代码
缺点:占用数据库空间相对较大,特别是根据guid查询速度比较慢(毕竟是字符串)。
3. 主键+随机码的方式,我们产生的随机码保存到数据库肯定会有个主键,用该主键+随机字符来组合。产生步骤:
1) 先从id生成器中获取id,比如是155.
2)填充成固定位数(比如8位)的字符串(不够位数的左边填0,超过位数直接使用该数字),得到:00000155
3)在每个数字后面随机插入1个字母或其它非数字符号,得到:0A0F0R0Y0H1K5L5M
这样就可以得到1个随机的唯一的邀请码了。
优点:使用也比较简单,不用查询数据库。最大的优点是查询的时候,可以根据邀请码直接得到主键id,然后根据id去数据库查询(速度很快),再比较查询出来的邀请码和用户提交的邀请码是否一致。
缺点:需要使用id产生器,如果主键是数据库自增长的就不太好用(需要先插入数据库获取id,再更新邀请码)。
4. 有时候产品经理说,我要求邀请码都是数字的。把方法3变通下就可以实现唯一的纯数字随机码了。
1) 获取id: 155
2) 转换成8进制:233
3) 转为字符串,并在后面加'9'字符:2339
4)在后面随机产生若干个随机数字字符:2003967524987
转为8进制后就不会出现9这个字符,然后在后面加个'9',这样就能确定唯一性。最后在后面产生一些随机数字就可以。
㈨ php怎么生成随机数
//随机数函数,$length为随机的数字长度
function randomkeys($length)
{
$key = "";
$pattern='';
for($i=0;$i<$length;$i++)
{
$key .= $pattern{mt_rand(0,35)}; //生成php随机数
}
return $key;
}
$a = randomkeys(1);
$b = randomkeys(1);
$c = randomkeys(1);
//如果要随机生成N个字符,则只需要
echo randomkeys(5);
㈩ 请问如何用php随机生成字母
<?php
$code='';
for($i=1;$i<=4;$i++){
$code.=chr(rand(97,122));
}
echo$code;