當前位置:首頁 » 編程語言 » php隨機數唯一

php隨機數唯一

發布時間: 2022-08-01 21:10:15

php產生唯一數字,並在資料庫裡面檢查是否重復,如果重復則重新生成,怎麼實現

在資料庫中將該欄位設為 unique
php提交時 如果重復則會 返回false
此時在php函數中重新生成

Ⅱ 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,即在前面生成的數字基礎上加一

}

(2)php隨機數唯一擴展閱讀:

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

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

Ⅲ PHP生成隨機數的幾種方法

php生成隨機數的幾種方法,總結如下:
第一種方法,非常簡單,直接使用系統自帶的函數:
查看代碼1
srand((double)microtime()*1000000);
2
//隨機產生0-99之間的整數
3
$randval=rand(0,99999999);
4
echo
$randval,'
';
5
6
第二種方法,稍微復雜一點,不只是生成只有數字的隨機字元串,更包括了各種特殊字元:
查看代碼
function
randomkeys($length){
$output='';
for($a=0;$a<$length;
$a++){
$output.=chr(mt_rand(33,
126));
}
return
$output;
}
echo
randomkeys(20);

Ⅳ PHP 隨機數

你網頁上每一次都是12條是由於被你的limit(0,12)導致的,你改成limit(0,100)就可以了

Ⅳ Php中生成6位隨機數並顯示

Php中生成6位隨機數並顯示實現如下:

1、使用shuffle函數生成隨機數。

<?php

$arr=range(100000,999999);

shuffle($arr);

foreach($arras$values)

{

echo$values." ";//顯示隨機數

}

?>

2、使用array_unique函數生成隨機數。

<?php

$arr=array();

while(count($arr)<10)

{

$arr[]=rand(1,10);

$arr=array_unique($arr);

}

echoimplode(" ",$arr);

?>

(5)php隨機數唯一擴展閱讀:

PHP生成隨機數的兩種方法:

1、rand()函數:

//無參數:rand()函數用戶獲取隨機數。

echo rand() . " ";//得到一個不定位數的隨機數

//帶參數:rand($min,$max),$min表示從XX開始取值,$max表示最大隻能為XX。

echo rand(5, 15);//在5~15之間取一個數

注意:mt_rand() 用法跟rand()類似,但是mt_rand()的執行效率更高。

2、使用array_flip函數生成隨機數,可以去掉重復值。

Ⅵ 求php生成多個隨機數代碼

$str = "abcdef123456"; //定義一串字元串
$strlen = strlen($str); //獲取字元串的長度(12)
$rand = intval(rand(0,$strlen-1)); //在字元串的長度范圍內隨機取一個字元,字元長度不能大於字元本身的長度所以-1
$str_a = substr($str,$rand,1); //取出字元
//取六個隨機數
$randstr = ''; //聲明一個變數
$randarr = array(); //聲明一個數組
for($i = 1; $i < 30; $i++){
$rand6 = intval(rand(0,$strlen-1));
$str_a6 = substr($str,$rand6,1);
if(!in_array($str_a6,$randarr)){
$randstr .= $str_a6;
array_push($randarr,$str_a6);
if(count($randarr)==6){
break;
}
}
}
echo $randstr;

Ⅶ PHP產生不重復隨機數的5個方法總結

無論是Web應用,還是WAP或者移動應用,隨機數都有其用武之地。在最近接觸的幾個小項目中,我也經常需要和隨機數或者隨機數組打交道,所以,對於PHP如何產生不重復隨機數常用的幾種方法小結一下(ps:方法1、4、5是我常用的,其餘來自網路整理)
方法一:
復制代碼
代碼如下:
<?php
$numbers
=
range
(1,50);
//shuffle
將數組順序隨即打亂
shuffle
($numbers);
//array_slice
取該數組中的某一段
$num=6;
$result
=
array_slice($numbers,0,$num);
print_r($result);
?>
方法二:
復制代碼
代碼如下:
<?php
$numbers
=
range
(1,20);
//播下隨機數發生器種子,可有可無,測試後對結果沒有影響
srand
((float)microtime()*1000000);
shuffle
($numbers);
//跳過list第一個值(保存的是索引)
while
(list(,
$number)
=
each
($numbers))
{
echo
"$number
";
}
?>
方法三:
復制代碼
代碼如下:
<?php
function
NoRand($begin=0,$end=20,$limit=5){
$rand_array=range($begin,$end);
shuffle($rand_array);//調用現成的數組隨機排列函數
return
array_slice($rand_array,0,$limit);//截取前$limit個
}
print_r(NoRand());
?>

上述可以在1-20間隨機產生5個不重復的值
方法四:
復制代碼
代碼如下:
<?php
$tmp=array();
while(count($tmp)<5){
$tmp[]=mt_rand(1,20);
$tmp=array_unique($tmp);
}
print_r($tmp);
?>
方法五:
復制代碼
代碼如下:
<?php
$tmp
=
range(1,30);
print_r(array_rand($tmp,10));
?>
這個可能是比叫簡單的了(ps:如果在range中指定了步長,就必須注意array_rand的第二個參數是否超出$tmp的長度)。
PHP提供非常豐富的數組函數,產生隨機數大多可以從數組這個角度出發,若你還有方法提供,歡迎給出,文章將持續更新。

Ⅷ PHP怎麼生成唯一的隨機數

可以使用毫秒數時間戳加上一個四位的隨機數 這樣理論上是不可能出現重復的

Ⅸ PHP 返回無重復的隨機數

$arr = array() ;
$i = 0 ;
while($i < 50){
$value = rand(0,100) ;
if(in_array($value,$arr)){
continue ;
}else{
$i++;
array_push($arr,$value) ;
}
}
print_r($arr) ;

熱點內容
伺服器essd什麼意思 發布:2025-01-23 14:51:24 瀏覽:268
spring上傳文件限制 發布:2025-01-23 14:50:30 瀏覽:310
奇亞幣p圖軟體存儲機 發布:2025-01-23 14:38:03 瀏覽:43
linux有用的命令 發布:2025-01-23 14:35:03 瀏覽:681
php顯示縮略圖 發布:2025-01-23 14:22:17 瀏覽:725
安卓哈利波特怎麼更換賬號 發布:2025-01-23 14:16:44 瀏覽:586
中國壓縮包 發布:2025-01-23 14:10:49 瀏覽:499
如果讓電腦訪問到公司伺服器 發布:2025-01-23 14:02:46 瀏覽:686
360瀏覽器腳本 發布:2025-01-23 13:54:42 瀏覽:565
合拍率演算法 發布:2025-01-23 13:50:59 瀏覽:257