array_rand()
我们提供的服务有:成都网站建设、网站制作、微信公众号开发、网站优化、网站认证、泾川ssl等。为超过千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的泾川网站制作公司
在你想从数组中取出一个或多个随机的单元时相当有用。它接受
input
作为输入数组和一个可选的参数
num_req,指明了你想取出多少个单元
-
如果没有指定,默认为
1。
如果你只取出一个,array_rand()
返回一个随机单元的键名,否则就返回一个包含随机键名的数组。这样你就可以随机从数组中取出键名和值。
主要是用array_rand()方法
它的用法也很简单:array_rand($arr[, $num])$arr == 用来取元素的数组$num == 随机取下标的个数其中第二个参数 $num 是可选的,默认为1 。注意:它的返回值在第二个参数大于 1 的时候是一个数组;当第二个参数不设或者传值 1 的时候是一个下标。简单的示例代码如下:1、第二个参数不传值的情况;$arr = Array('a', 'b');$rndKey = array_rand($arr);echo $arr[$rndKey];//输出 a 或者 b2、第二个参数传值大于 1 的情况;$arr = Array('a', 'b', 'c', 'd');$rndKey = array_rand($arr, 2);print_r($rndKey]);//输出一个随机key的数组
需要准备的材料分别是:电脑、php编辑器、浏览器。
1、首先,打开php编辑器,新建php文件,例如:index.php,并定义一个数组。
2、在index.php中,输入代码:echo $a[mt_rand(0, count($a) - 1)];。
3、浏览器运行index.php页面,此时随机打印出了数组中的值。
4、浏览器按F5刷新,发现确实是随机的。
直接使用while循环来处理,循环使用随机函数mt_rand,将随机数存入一个数组中,作为判断数据是否重复的依据(in_array);使用glob函数来判断new目录下的文章篇数,作为生成随机数的最大值;整体代码如下:
执行后的效果:
代码操作:
?php
//获取文件夹下html的数量
$max_num = glob("xxx/new/*.html");
$num = 0;
$rand_num = [];
$result_arr = [];
while($num 100){
$tample_num = mt_rand(1,$max_num);
if(!in_array($tample_num,$rand_num)){
$rand_num[] = $tample_num;
$result_arr[] = "".$tample_num.".html";
$num++;
}
}
foreach($result_arr as $v){
echo $v."hr/";
}
echo "数组的大小". count($result_arr);
用array_rand()函数就可以实现。
array_rand():从数组中随机选出一个或多个元素,并返回。
语法:array_rand(array,number)
array:必需。规定输入的数组参数。
number:可选。默认是 1。规定返回多少个随机的元素。
例子:$a = ['a','b','c'];//定义一个二维数组
$b = $array_rand($a,1);//从数组a里随机选取一个元素赋值给变量b。
如果文件不是太大的话,可以这样写:
?php
$arr=file('a.txt'); //文本文件,请修改合适的名字和位置
$n=count($arr);
for ($i=0;$i5;$i++) echo $arr[rand(0,$n)]."br';
?