怎么在php中生成一个不重复随机的数组

介绍

今天就跟大家聊聊有关怎么在php中生成一个不重复随机的数组,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

代码如下:


& lt; ? php
定义(& # 39;RANDOM_MAX& # 39;, 100年)。
定义(& # 39;计数# 39;10);

回声& # 39;马克斯随机num: & # 39;。RANDOM_MAX & # 39;,结果数:& # 39;。计数,& # 39;& lt; br/祝辞& # 39;;

invoke_entry (& # 39; rand1& # 39;);
invoke_entry (& # 39; rand2& # 39;);
invoke_entry (& # 39; rand3& # 39;);
invoke_entry (& # 39; rand4& # 39;);

函数invoke_entry (func_name美元){
,时间=new()美元;
,时间→美元time_start ();
, call_user_func ($ func_name);
, echo $ func_name强生# 39;时间花:& # 39;时间→美元time_spend ();
,回声& # 39;& lt; br/祝辞& # 39;;
}
函数rand1 () {
,美元数量=范围(1,RANDOM_MAX);
,洗牌(数字)美元;,//随机打乱数组
,结果=array_slice美元(美元数字1计数);
,返回结果美元;
}
函数rand2 () {
, $=结果数组();
,而(count ($) & lt;计数){
,,结果[]=美元mt_rand (1, RANDOM_MAX);,//mt_rand()是比rand()更好更快的随机函数
,,结果=array_unique美元($);//删除数组中重复的元素
,}
,返回结果美元;
}
函数rand3 () {
, $=结果数组();,,
,而(count ($) & lt;数){
,, $ _tmp=mt_rand (1, RANDOM_MAX);
,,如果(!in_array (_tmp美元,导致美元)){,//当数组中不存在相同的元素时,才允许插入
,,,结果[]=_tmp美元;
,,}
,},,
,返回结果美元;
}
函数rand4 () {
, $=结果数组();
,而(count ($) & lt;数){
,,结果[]=美元mt_rand (1, RANDOM_MAX);
,,结果=美元array_flip (array_flip(结果)美元);,//array_flip将数组的键和值交换
,}
,返回结果美元;
}
课堂时间{
,私人美元的地方;
,
,公共职能time_start () {
,,这→美元的地方=$这→microtime_float ();
,}
,公共职能time_spend () {
,,返回$ this→microtime_float()——这个→美元的地方;
,}
,供私人使用microtime_float () {
,,列表(美国铀浓缩公司(sec)美元=爆炸(““());
,,返回((浮动)美国铀浓缩公司+(浮动)sec)美元;
,}
}


?在

,说一下第四种方法,就是翻翻法了,利用array_flip()将数组的键和值翻转,利用php数组特性,重复的键会覆盖,此时再翻转一次,就相同于去掉了重复的值。
以上几种方法只是简单的例子,有的方法适用范围有限。

在看看几种方法的效率:

怎么在php中生成一个不重复随机的数组

怎么在php中生成一个不重复随机的数组

看完上述内容,你们对怎么在php中生成一个不重复随机的数组有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

怎么在php中生成一个不重复随机的数组