① 請教一下前輩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()方法