php中有隨機的數要取出任意如何解決

時間 2022-07-27 09:17:26

1樓:匿名使用者

<?php

$arr = array("1","2","3","4","5",....,"40");//40個要隨機的數放到乙個陣列中

$rand_key = rand_array($arr , 5);//隨機取5個鍵值

//那麼5個隨機數就是$arr[$rand_key[0]],$arr[$rand_key[1]],$arr[$rand_key[2]],$arr[$rand_key[3]],$arr[$rand_key[4]]

?>

2樓:匿名使用者

<?php

//定義40個隨機數,假設你已經定義好,放在了$num陣列裡$num = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40);

$mywant = array();

for($i=0;$i<5;$i++)

print_r($mywant);

你知道隨機的含義嗎?

如果你要所有組合,你知道這是多少種嗎

c(40,5) = 40*39*38*37*36/(1*2*3*4*5) = 658008

3樓:

你可以先這樣嘛,每次產生隨機數的時候,將這些隨機數依次加到乙個陣列當中去,下標以0-39這40個數字,然後每次你取資料的時候從0-39隨機產生乙個數字,然後再通過這個數字做為下標再去取對應下標的值就可以啦~~~

4樓:我真不會呀

把40個數放到乙個下標為0至39的陣列中。

用隨機數生成函式,php中是rand()生成五個0至39之間的隨機數,從第二個開始判斷是否和前面的重複。取這五個隨機數為下標的陣列的值就好了

php指定幾個數,隨機抽取

5樓:匿名使用者

<?php

$test = array(1,4,7,9,6);//對這5個數建立數字索引陣列,則索引值為0到4

$i = rand(0,4);//隨機生成乙個0,到4之間的整形數字,包括0和4

echo $test[$i];

?>

請教一下前輩php如何從乙個陣列中隨機取五個資料(下標和值都要)

6樓:啊桂讀書

給你寫個函式:

function haha($arr)

return $re;}

php 如何實現,從陣列中隨機取出資料,還要保證下次不會再取到

7樓:陽光上的橋

每次隨機取出乙個數之後,應該刪除這個數,才可以保證下次不取到它。例如你的100個數,第一次隨機取乙個,然後刪除它,下次再剩餘的99裡面隨機取乙個,這樣就不會重複了。

寫**沒難度了吧,你寫寫看,如果希望我繼續回答,建議你貼上一下你寫的內容,不完整或者錯誤沒關係,至少你去思考了的,而且我看了**知道你錯在**,才可以針對性的講解。

沒空等你寫**了,我把我的貼出來,今天晚上要熬夜加班,沒空回來看帖子了,不好意思,希望你認真學習。

<?php

$arr=array();

for ($i=1;$i<=100;$i++) array_push($arr,$i);

print_r($arr);

for ($i=1;$i<=100;$i++)

?>

8樓:雨林雨林

$a = range(1,100);

function get_one(&$a)else}//每次取值可以直接

echo "取到的值:".get_one($a);

echo "

還剩:".count($a);

9樓:匿名使用者

1、先用函式把陣列的重複值去掉

2、然後根據下表隨機取出乙個值

3、然後用函式把這個值刪除

10樓:車鴻許俊德

最簡單的做法,取出後,unset陣列裡這個資料

事前可以用另乙個變數備份賦值下

php中怎樣從乙個陣列中隨機取乙個元素出來呢?

11樓:牧牧巴巴

用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的陣列

12樓:匿名使用者

它的用法也很簡單: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的陣列

13樓:匿名使用者

不知道 、這個東西太專業

php取隨機數概率演算法 100

14樓:

$number = array(

1 => array('n' => mt_rand(1, 10), 'p' => 60),

2 => array('n' => mt_rand(10, 50), 'p' => 25),

3 => array('n' => mt_rand(50, 100), 'p' => 10),

4 => array('n' => mt_rand(100, 200), 'p' => 5),

);function rand_number($numbers)

else

}return $result;

}echo $number[rand_number($number)]['n'];

15樓:匿名使用者

<?php

function get_rand($proarr) else

}unset ($proarr);

return $result;

}$prize_arr = array(

'0' => array('id'=>1,'prize'=>'100-200','v'=>5),

'1' => array('id'=>2,'prize'=>'50-100','v'=>10),

'2' => array('id'=>3,'prize'=>'10-50','v'=>25),

'3' => array('id'=>4,'prize'=>'1-10','v'=>60),

);foreach ($prize_arr as $key => $val)

$rid = get_rand($arr); //根據概率獲取獎項id

$res['yes'] = $prize_arr[$rid-1]['prize']; //中獎項

unset($prize_arr[$rid-1]); //將中獎項從陣列中剔除,剩下未中獎項

shuffle($prize_arr); //打亂陣列順序

for($i=0;$i

16樓:

問題有點模糊,我先暫時把「保留兩位小數」理解成「[輸出的隨機數]保留兩位小數」,而非其他因素保留多少小數。

又把「1-10」,理解成包括1和10在內其兩數之間的小數,

把10-50,理解成10.01到50.00之間的數,不包括10.00。以此類推。

<?php

function genrandom()

$a=array();

$total=50000;

for($i=0;$i<$total;$i++)

if(!array_key_exists(4, $a)) $a[4]=0;

echo "總樣本數".$total.'

';echo "1-10樣本數".$a[0].', 佔'.($a[0]/$total*100).'%

';echo ">10-50樣本數".$a[1].', 佔'.($a[1]/$total*100).'%

';echo ">50-100樣本數".$a[2].', 佔'.($a[2]/$total*100).'%

';echo ">100-200樣本數".$a[3].', 佔'.($a[3]/$total*100).'%

';echo "其他樣本數".$a[4].', 佔'.($a[4]/$total*100).'%

';總樣本數50000

1-10樣本數30052, 佔60.104%

>10-50樣本數12404, 佔24.808%

>50-100樣本數4993, 佔9.986%

>100-200樣本數2551, 佔5.102%

其他樣本數0, 佔0%

17樓:我不能忍

$probability["1-10"] = 0.6;

$probability["11-50"] = 0.25;

$probability["51-100"] = 0.10;

$probability["101-200"] = 0.05;

//擴大1000倍便於計算

foreach($probability as $k => $v)$num = 0;

$random = rand(1,1000);//生成隨機數foreach($probability as $k => $v)else

}希望對您有幫助

php取隨機數概率演算法,php取隨機數概率演算法

number array 1 array n mt rand 1,10 p 60 2 array n mt rand 10,50 p 25 3 array n mt rand 50,100 p 10 4 array n mt rand 100,200 p 5 function rand number...

php生成隨機數,1 15之間,2出現的概率是80然後其

rand 0 定義rank隨機變數if mt rand 1,100 80 else echo rand 輸出結果 按照你給的資訊,我分析了下,也就是說2的出現概率是其他數值的8倍,不知道我分析錯了沒有,如果是錯的,下面 就不用看了 生成值為1 15的陣列 arr1 range 1,15 生成值為7個...

Excel,把數隨機分成多分,隨機數的總和等於總數

不知道份數是否固定,下例為把乙個數隨機分為4份 修改一下,還行。假設,乙個數字 在a1。分成25個隨機數字 就設定為整數吧 b1輸入 round rand a 1 25 1,0 回車 b2輸入 round rand a 1 sum b 1 b1 row a1 25 1,0 回車並向下填充至b24 b...

隨機數的控制

因為int suiji int mach.suiji 10 是產生0 9的隨機數,所以mach.suiji 的範圍是 0,1 如果要0 99,0 100,0 1000等,只需要等比例放大,即乘以比它大1的整數,int mach.suiji 100 int mach.suiji 101 int mac...

關於c 隨機數問題,關於C 的隨機數的種子的設定問題

unsigned long randseed public 建構函式,預設值0表示由系統自動產生種子 randomnumber unsigned long s 0 產生0 n 1之間的隨機整數 unsigned short random unsigned long n 產生0 n 1之間的隨機實數 ...