① 请教一下前辈php如何从一个数组中随机取五个数据(下标和值都要)
给你写个函数:
functionhaha($arr){
$keys=array_rand($arr,5);
$re=array();
foreach($keysas$v){
$re[$v]=$arr[$v];
}
return$re;
}
② php 如何实现,从数组中随机取出数据,还要保证下次不会再取到
每次随机取出一个数之后,应该删除这个数,才可以保证下次不取到它。例如你的100个数,第一次随机取一个,然后删除它,下次再剩余的99里面随机取一个,这样就不会重复了。
写代码没难度了吧,你写写看,如果希望我继续回答,建议你粘贴一下你写的内容,不完整或者错误没关系,至少你去思考了的,而且我看了代码知道你错在哪里,才可以针对性的讲解。
没空等你写代码了,我把我的贴出来,今天晚上要熬夜加班,没空回来看帖子了,不好意思,希望你认真学习。
<?php
$arr=array();
for ($i=1;$i<=100;$i++) array_push($arr,$i);
print_r($arr);
for ($i=1;$i<=100;$i++){
$n=rand(0,count($arr)-1);//产生随机数,最小值是0,最大值是数组剩余元素可数-1
echo $arr[$n]," ";//显示取的随机数
array_slice($arr,$n,1);//删除刚才取到的数
}
?>
③ php 如何实现,从数组中随机取出数据,还要保证下次不会再取到
$a
=
range(1,100);
function
get_one(&$a){
if(count($a)>=1){
$key=array_rand($a,1);
$value=$a[$key];
unset($a[$key]);
return
$value;
}else{
return
"都取光了";
}
}
//每次取值可以直接
echo
"取到的值:".get_one($a);
echo
"<br>还剩:".count($a);
④ 想通过PHP实现读取txt文本每次刷新网页随机获取5行数据并输出
如果文件不是太大的话,可以这样写:
<?php
$arr=file('a.txt'); //文本文件,请修改合适的名字和位置
$n=count($arr);
for ($i=0;$i<5;$i++) echo $arr[rand(0,$n)]."<br>';
?>
⑤ php中如何在数组中随机抽取n个数据的值
array_rand()
在你想从数组中取出一个或多个随机的单元时相当有用。它接受
input
作为输入数组和一个可选的参数
num_req,指明了你想取出多少个单元
-
如果没有指定,默认为
1。
如果你只取出一个,array_rand()
返回一个随机单元的键名,否则就返回一个包含随机键名的数组。这样你就可以随机从数组中取出键名和值。
主要是用array_rand()方法