php隨機整數
A. php數組值取隨機數
用array_rand()函數就可以實現。
array_rand():從數組中隨機選出一個或多個元素,並返回。
語法:array_rand(array,number)
array:必需。規定輸入的數組參數。
number:可選。默認是 1。規定返回多少個隨機的元素。
例子:$a = ['a','b','c'];//定義一個二維數組
$b = $array_rand($a,1);//從數組a里隨機選取一個元素賦值給變數b。
B. php 指定隨機數
方法1:
$a=array(1,2,3,4,5,6); //指定數組
$b=array_rand($a,3); //取得數組$a中三個隨機的鍵值。
echo $a[$b[0]]."、".$a[$b[1]]."、".$a[$b[2]]; //可以按自己想要的格式輸出
方法2:
$a = array(1,2,3,4,5,6);
shuffle($a); //打亂數組$a
$b=array_slice($a,0,3); //取出數組中前三個值放入$b
print_r($b);
C. php怎麼生成6位隨機數,php隨機數例子
通常情況下,當我們要生成一個隨機字元串時,總是先創建一個字元池,然後用一個循環和mt_rand()或rand()生成php隨機數,從字元池中隨機選取字元,最後拼湊出需要的長度。
復制代碼 代碼如下:
function randomkeys($length)
{
$pattern = '
ABCDEFGHIJKLOMNOPQRSTUVWXYZ,./&l
t;>?;#:@~[]{}-_=+)(*&^%___FCKpd___0pound;"!'; //字元池
for($i=0;$i<$length;$i++)
{
$key .= $pattern{mt_rand(0,35)}; //生成php隨機數
}
return $key;
}
echo randomkeys(8);
這個php隨機函數能生成XC*=z~7L這樣的字元串,夠隨機!現在介紹另一種用PHP生成隨機數的方法:利用chr()函數,省去創建字元池的步驟。
復制代碼 代碼如下:
function randomkeys($length)
{
$output='';
for ($a = 0; $a < $length; $a++) {
$output .= chr(mt_rand(33, 126)); //生成php隨機數
}
return $output;
}
echo randomkeys(8);
在第二個php隨機函數里,先用mt_rand()生成一個介於33到126之間的php隨機數,然後用chr()函數轉化成字元。查看ascii碼表就會發現,33到126代表的正是第一個函數中字元池裡的所有字元。第二個函數和第一個函數功能相同,而且更簡潔。
D. 如何用PHP獲得這樣的隨機整數
mt_rand(300,600)
mt_rand(100,800)
詳細代碼:
top:<?php echo mt_rand(300,600)?>px;left:<?php echo mt_rand(100,800)?>px;
推薦用mt-rand(a,b)
有人說:
總的來說mt_rand() 比rand() 快四倍
很多老的 libc 的隨機數發生器具有一些不確定和未知的特性而且很慢。PHP 的 rand() 函數默認使用 libc 隨機數發生器。mt_rand() 函數是非正式用來替換它的。該函數用了 Mersenne Twister 中已知的特性作為隨機數發生器,mt_rand() 可以產生隨機數值的平均速度比 libc 提供的 rand() 快四倍。
E. php怎麼生成6位隨機數
通常情況下,當我們要生成一個隨機字元串時,總是先創建一個字元池,然後用一個循環和mt_rand()或rand()生成php隨機數,從字元池中隨機選取字元,最後拼湊出需要的長度。代碼如下:
function randomkeys($length)
{
$pattern = '
ABCDEFGHIJKLOMNOPQRSTUVWXYZ,./&l
t;>?;#:@~[]{}-_=+)(*&^%___FCKpd___0pound;"!'; //字元池
for($i=0;$i<$length;$i++)
{
$key .= $pattern{mt_rand(0,35)}; //生成php隨機數
}
return $key;
}
echo randomkeys(8);
這個php隨機函數能生成XC*=z~7L這樣的字元串,隨機!
F. 求一個生成四位隨機數的PHP代碼
最簡單的代碼:
圖片:
文字:
<?php
echo "四位隨機代碼是:". mt_rand(999, 9999); //隨機值得范圍是999-9999
?>
在PHP中 mt_rand是隨機函數,括弧中是隨機值范圍:從最小值到最大值之間隨機變換。
(6)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
G. php程序如何產生隨機數
mt_rand — 生成更好的隨機數
它可以產生隨機數值的平均速度比 libc 提供的 rand() 快四倍。
所以內建議樓主用這個函數 比rand要快
int mt_rand ([ int $min ], int $max ) $min為做容小值 $max為最大值
<?php
echo "<table>";
for ($i=0;$i<2;$i++) // 外層循環控制行數
{
echo "<tr>";
for ($j=0;$j<10;$j++) // 內層循環控制列數
{
echo "<td>".mt_rand(10,100000)."</td>"; // 產生隨機數
}
echo "</tr>";
}
echo "</table>"
?>
H. 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,即在前面生成的數字基礎上加一
}
(8)php隨機整數擴展閱讀:
密碼學安全偽隨機性。其定義為,給定隨機樣本的一部分和隨機演算法,不能有效的演算出隨機樣本的剩餘部分。
真隨機性。其定義為隨機樣本不可重現。實際上只要給定邊界條件,真隨機數並不存在,可是如果產生一個真隨機數樣本的邊界條件十分復雜且難以捕捉(比如計算機當地的本底輻射波動值),可以認為用這個方法演算出來了真隨機數。
I. php取隨機數概率演算法
//首先定義概率數組
$Probability["1-10"]=0.6;
$Probability["11-50"]=0.25;
$Probability["51-100"]=0.10;
$Probability["101-200"]=0.05;
//擴大1000倍便於計算
foreach($Probabilityas$k=>$v){
$Probability[$k]=$v*1000;
}
$Num=0;
$Random=rand(1,1000);//生成隨機數
foreach($Probabilityas$k=>$v){
if($Num<$Random&&$Random<=$v+$Num){
//進入這里表示隨機數在哪一個范圍內
$Range=explode("-",$k);
//生成范圍區間的隨機數
$Result=rand($Range[0],$Range[1]);
echo$Result;
break;
}else{
$Num+=$v;
}
}
J. 在 1-20之間隨機取一個整數,PHP怎麼作
代碼如下:
<?php
//range 是將1到100 列成一個數組
$numbers = range (1,100);
//shuffle 將數組順序隨即打亂
shuffle ($numbers);
//array_slice 取該數組中的某一段
$no=6;
$result = array_slice($numbers,0,$no);
for ($i=0;$i<$no;$i++){
echo $result[$i]."<br>";
}
print_r($result);
?>
//range 是將1到42 列成一個數組
$numbers = range (1,42);
//shuffle 將數組順序隨即打亂
shuffle ($numbers);
//array_slice 取該數組中的某一段
$result = array_slice($numbers,0,3);
print_r($result);