《PHP實戰:PHP基于自增數據如何生成不重復的隨機數示例》要點:
本文介紹了PHP實戰:PHP基于自增數據如何生成不重復的隨機數示例,希望對您有用。如果有疑問,可以聯系我們。
PHP編程本文主要介紹了PHP基于自增數據生成不重復的隨機數的相關內容,分享出來供大家參考學習,下面多說無益 直接上代碼:
PHP編程關鍵點在于生成的自增數據位數控制
PHP編程位數控制在于兩個地方
PHP編程????? 1、 $base 基數組 如果是8位這個數組必須是8位
PHP編程????? 2、 $i 自增數,自增數不能超過8位數
PHP編程當前簡單分析的結果就是以上.大家如果是全局不重復,還是建議使用uuid之類的比較合適.
PHP編程示例代碼:
PHP編程
function swap($n,$base) {
$mask = 19; //1 + 2 + 16
$n = intval($n, 10);
$idx = $n & $mask;//取出標志位
$xor = $base[$idx] ^ $n;//根據標識為找到對應的base,異或n
return (($xor | $mask) ^ $mask) | $idx;//覆蓋標識位
}
$newArray=[];
$base = array (
0 => 1918407,
1 => 5529570,
2 => 6527234,
3 => 6550962,
4 => 8054672,
5 => 3141234,
6 => 2125630,
7 => 6978033,
8 => 4623630,
9 => 4736420,
10 => 7767295,
11 => 9679880,
12 => 1665600,
13 => 6044373,
14 => 4661383,
15 => 5771843,
16 => 2206123,
17 => 5685396,
18 => 5571647,
19 => 7178311,
);
for ($i=0;$i<1000000;$i++) {
$newArray[]= swap($i,$base)."\r\n";
}
PHP編程總結
PHP編程以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對維易PHP的支持.
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/787.html