當前位置:首頁 » 編程語言 » php偽隨機

php偽隨機

發布時間: 2022-07-31 20:48:07

php ThinkPhP 5.1 按概率生成隨機數

echo (rand(1,100) <= 70 ? rand(1,50) : rand(51,100))/100;
先說明:偽隨機
rand(1,100)產生1~100范圍內隨機數
如果 產生的隨機數 小於等於 70
返回 1~50 隨機數
否則返回 51~100 隨機數

最後隨機數/100即可。

為什麼除以100,是因為rand 的參數均為int,所以放大100倍獲取隨機,得出結果後再縮小100倍剛好就是分了。

❷ php裡面怎麼隨機打亂數組

function shuffle(&array $array): bool
Description:
打亂數組
本函數打亂(隨機排列單元的順序)一個數組。 它使用的是偽隨機數產生器,並不適合密碼學的場合。
如果兩個成員完全相同,那麼它們在排序數組中的相對順序是未定義的。
Param:
array $array 待操作的數組。
Return:
bool 成功時返回 TRUE, 或者在失敗時返回 FALSE。
<?php
$numbers = range(1, 20);
shuffle($numbers);
foreach ($numbers as $number) {
echo "$number ";
}
?>

❸ php隨機數生成的函數是

php提供的隨機數函數rand(),rand()函數將返回隨機整數,具體使用方法如下:rand(min,max)
可選參數min和max可以使rand() 返回0到rand_max之間的偽隨機整數,例如,想要5到15(包括 5 和 15)之間的隨機數,用 rand(5, 15)

❹ PHP中函數rand和mt_rand的區別比較

PHP函數rand和mt_rand

mt_rand()
比rand()
快四倍

很多老的
libc
的隨機數發生器具有一些不確定和未知的特性而且很慢。PHP

rand()
函數默認使用
libc
隨機數發生器。mt_rand()
函數是非正式用來替換它的。該函數用了
Mersenne
Twister
中已知的特性作為隨機數發生器,mt_rand()
可以產生隨機數值的平均速度比
libc
提供的
rand()
快四倍。

mt_rand()
比rand()
快四倍

mt_rand

生成更好的隨機數

(PHP
3
>=
3.0.6,
PHP
4,
PHP
5)

int
mt_rand
(
[int
min,
int
max]
)

很多老的
libc
的隨機數發生器具有一些不確定和未知的特性而且很慢。PHP

rand()
函數默認使用
libc
隨機數發生器。mt_rand()
函數是非正式用來替換它的。該函數用了
Mersenne
Twister(馬其塞旋轉)
中已知的特性作為隨機數發生器,它可以產生隨機數值的平均速度比
libc
提供的
rand()
快四倍。

如果沒有提供可選參數
min

max,mt_rand()
返回

0

RAND_MAX
之間的偽隨機數。

例如想要
5

15(包括
5

15)之間的隨機數,用
mt_rand(5,
15)。

注:

PHP
4.2.0
起,不再需要用
srand()

mt_srand()
函數給隨機數生成器播種,現已自動完成。

rand

產生一個隨機整數

(PHP
3,
PHP
4,
PHP
5)

int
rand
(
[int
min,
int
max]
)

如果沒有提供可選參數
min

max,rand()
返回
0

RAND_MAX
之間的偽隨機整數。例如想要
5

15(包括
5

15)之間的隨機數,用
rand(5,
15)。

注:
在某些平台下(例如
Windows)RAND_MAX
只有
32768。如果需要的范圍大於
32768,那麼指定
min

max
參數就可以生成大於
RAND_MAX的數了,或者考慮用
mt_rand()
來替代之。

注:

PHP
4.2.0
起,不再需要用
srand()

mt_srand()
函數給隨機數生成器播種,現已自動完成。
mt_rand定義和用法
mt_rand()
使用
Mersenne
Twister
演算法返回隨機整數。
語法
mt_rand(min,max)說明
如果沒有提供可選參數
min

max,mt_rand()
返回
0

RAND_MAX
之間的偽隨機數。例如想要
5

15(包括
5

15)之間的隨機數,用
mt_rand(5,
15)。
很多老的
libc
的隨機數發生器具有一些不確定和未知的特性而且很慢。PHP

rand()
函數默認使用
libc
隨機數發生器。mt_rand()
函數是非正式用來替換它的。該函數用了
Mersenne
Twister
中已知的特性作為隨機數發生器,它可以產生隨機數值的平均速度比
libc
提供的
rand()
快四倍。
提示和注釋
注釋:自
PHP
4.2.0
起,不再需要用
srand()

mt_srand()
函數給隨機數發生器播種,現在已自動完成。
注釋:在
3.0.7
之前的版本中,max
的含義是
range
。要在這些版本中得到和上例相同
5

15
的隨機數,簡短的例子是
mt_rand
(5,
11)。
例子
在本例中,我們會返回一些隨機數:
復制代碼
代碼如下:
<?php
echo(mt_rand());
echo(mt_rand());
echo(mt_rand(10,100));
?>
輸出類似:
3150906288
513289678
35

❺ 求一個生成四位隨機數的PHP代碼

最簡單的代碼:

圖片:

文字:

<?php

echo "四位隨機代碼是:". mt_rand(999, 9999); //隨機值得范圍是999-9999

?>

在PHP中 mt_rand是隨機函數,括弧中是隨機值范圍:從最小值到最大值之間隨機變換。

(5)php偽隨機擴展閱讀:

1、mt_rand定義和用法:

mt_rand (PHP 4, PHP 5, PHP 7) —生成更好的隨機數。

2、mt_rand說明:

intmt_rand(void)。

intmt_rand(int$min,int$max)。

很多老的 libc 的隨機數發生器具有一些不確定和未知的特性而且很慢。PHP 的rand()函數默認使用 libc 隨機數發生器。mt_rand()函數是非正式用來替換它的。

如果沒有提供可選參數min和max,mt_rand()返回 0 到mt_getrandmax()之間的偽隨機數。例如想要 5 到 15(包括 5 和 15)之間的隨機數,用mt_rand(5, 15)。

3、參數:

min 可選的、返回的最小值(默認:0)。

max 可選的、返回的最大值(默認:mt_getrandmax())。

4、返回值:

返回min(或者 0) 到max(或者是到mt_getrandmax(),包含這個值)之間的隨機整數。

PHP官網-mt_rand

❻ 用php寫一個猜隨機數的程序。產生一個10以內的隨機數,讓用戶在文本框輸入猜的數字有5次機會。

用if語句判斷$a是否已經存有隨機數,沒有則隨機生成一個隨機數放入$a中,並讓剩餘次數$b為5。用戶輸入後將$a與輸入的數字對比,並給出相應的提示。並且把$b減1,直到$b為0時結束。獲取用戶輸入和表單隱藏的數據可用GET 或 POST。

<span></span>

<form method="post" action="">

輸入數字(1-10)

<input type="text" name="sz" size="6" value="10">

<input type="hidden" name="rand" value=<?php echo $_COOKIE['read'];?>>

<input type="hidden" name="last" value="5" autocomplete="off">

<input type="button" name="sub" value="確認">

</form>

<script src="http://libs..com/jquery/2.1.4/jquery.min.js"></script>

<script>

$(document).ready(function(){

$("[name='sub']").click(function(){

if($("[name='last']").val() < 1){alert("你沒機會了");return;}

$.post("",{sz:$("[name='sz']").val(),rand:$("[name='rand']").val()},function(result){

$("[name='last']").val($("[name='last']").val()-1);

$("span").html(result+'還有'+$("[name='last']").val()+'次機會');

});

});

});

</script>

(6)php偽隨機擴展閱讀:

使用計算機產生真隨機數的方法是獲取cpu頻率與溫度的不確定性以及統計一段時間的運算次數每次都會產生不同的值,系統時間的誤差以及音效卡的底噪等。

在實際應用中往往使用偽隨機數就足夠了。這些數列是「似乎」隨機的數,實際上它們是通過一個固定的、可以重復的計算方法產生的。計算機或計算器產生的隨機數有很長的周期性。它們不真正地隨機,因為它們實際上是可以計算出來的,但是它們具有類似於隨機數的統計特徵。這樣的發生器叫做偽隨機數發生器。

❼ 急需php rand函數限定條件,求大神

nu=(1:20)/1000
y=rand(1,20)
y>cumsum(nu)
x(1)=1+sum(y>cumsum(nu));
按照給你的代碼一行的復制到命令窗口回車,你就應該明白這句的含義,另外
rand
uniformly
distributed
pseudorandom
numbers
即rand生成的為均勻分布的偽隨機數

❽ php中如何生成1-15之間的隨機數

可以使用PHP math 函數 rand(1,15)直接返回即可。

定義和用法:rand() 函數返回隨機整數。

語法:rand(min,max)。

參數:min,max 可選。規定隨機數產生的范圍。

說明:如果沒有提供可選參數 min 和 max,rand() 返回 0 到 RAND_MAX 之間的偽隨機整數。例如,想要 5 到 15(包括 5 和 15)之間的隨機數,用 rand(5, 15)。

(8)php偽隨機擴展閱讀:

提示和注釋

注釋:在某些平台下(例如 Windows)RAND_MAX 只有 32768。如果需要的范圍大於 32768,那麼指定 min 和 max 參數就可以生成大於 RAND_MAX 的數了,或者考慮用 mt_rand() 來替代它。

注釋:自 PHP 4.2.0 起,不再需要用 srand() 或 mt_srand() 函數給隨機數發生器播種,現在已自動完成。

注釋:在 3.0.7 之前的版本中,max 的含義是 range 。要在這些版本中得到和上例相同 5 到 15 的隨機數,簡短的例子是 rand (5, 11)。

❾ php生成隨機數字,范圍1-100,每次生成一個數字,可以重復

echomt_rand(1,100);

請使用rand函數

intrand(int$min,int$max)

使用循環生成,假如想生成512個數字,就可以像這樣:

$num = 1;//初始化一個變數為1

for($i = 1; $i <= 512; $i++)//這個是看你要生成多少個數字,然後循環生成

{

if($num >= 100)

$num = 1;//若變數的數字大於一百,則返回變成1

echo $num."</br>";//輸出變數數字,即生成的數字,後面的</br>是換行

$num++;//然後將變數加1,即在前面生成的數字基礎上加一

}

(9)php偽隨機擴展閱讀:

密碼學安全偽隨機性。其定義為,給定隨機樣本的一部分和隨機演算法,不能有效的演算出隨機樣本的剩餘部分。

真隨機性。其定義為隨機樣本不可重現。實際上只要給定邊界條件,真隨機數並不存在,可是如果產生一個真隨機數樣本的邊界條件十分復雜且難以捕捉(比如計算機當地的本底輻射波動值),可以認為用這個方法演算出來了真隨機數。

熱點內容
微信提示存儲空間不足 發布:2025-01-24 01:19:53 瀏覽:963
安卓電腦管家如何清除緩存 發布:2025-01-24 00:55:42 瀏覽:148
怎麼上傳歌曲到qq音樂 發布:2025-01-24 00:45:30 瀏覽:65
養貓用什麼配置 發布:2025-01-24 00:37:58 瀏覽:812
pythongps 發布:2025-01-24 00:37:51 瀏覽:813
辦公編程滑鼠 發布:2025-01-24 00:37:07 瀏覽:386
wpa加密類型 發布:2025-01-24 00:35:58 瀏覽:960
如何用批處理實現ftp映射盤符 發布:2025-01-24 00:25:45 瀏覽:954
win7sql版本 發布:2025-01-24 00:22:16 瀏覽:499
安卓手機市場有什麼 發布:2025-01-23 23:48:56 瀏覽:26