Hướng dẫn range az php - phạm vi az hp
(Php 4, Php 5, Php 7, Php 8) Nội dung chính Trả về giá trị — Génère une valeur aléatoire Sự mô tảDanh sách cài đặt(): int Trả về giá trị(int $min, int $max): int Lịch sửrand() retourne un nombre pseudoaléatoire entre 0 et getrandmax(). Si vous voulez un nombre aléatoire entre 5 et 15 (inclus), par exemple, utilisez rand (5, 15). Được gọi là không có các tùy chọn tối đa và tối đa, rand () trả về số giả giữa 0 và getrandmax (). Nếu bạn muốn một số ngẫu nhiên trong khoảng từ 5 đến 15 (bao gồm), ví dụ, sử dụng rand (5, 15). RAND - Tạo giá trị ngẫu nhiên — Génère une valeur aléatoirerandom_int(), random_bytes(), ou openssl_random_pseudo_bytes().
Danh sách cài đặtTrả về giá trịLịch sử Được gọi là không có các tùy chọn tối đa và tối đa, rand () trả về số giả giữa 0 và getrandmax (). Nếu bạn muốn một số ngẫu nhiên trong khoảng từ 5 đến 15 (bao gồm), ví dụ, sử dụng rand (5, 15).RAND - Tạo giá trị ngẫu nhiên — Génère une valeur aléatoiremt_getrandmax()) Trả về giá trịLịch sửmt_getrandmax(), inclusif). Lịch sử
Được gọi là không có các tùy chọn tối đa và tối đa, rand () trả về số giả giữa 0 và getrandmax (). Nếu bạn muốn một số ngẫu nhiên trong khoảng từ 5 đến 15 (bao gồm), ví dụ, sử dụng rand (5, 15).RAND - Tạo giá trị ngẫu nhiên — Génère une valeur aléatoirerand() Rand (): int(): int Rand (int $ min, int $ max): int(int $min, int $max): int rand(5, 15);?>(5, 15);?>(5, 15);?> Được gọi là không có các tùy chọn tối đa và tối đa, rand () trả về số giả giữa 0 và getrandmax (). Nếu bạn muốn một số ngẫu nhiên trong khoảng từ 5 đến 15 (bao gồm), ví dụ, sử dụng rand (5, 15).rand() retourne un nombre pseudoaléatoire entre 0 et getrandmax(). Si vous voulez un nombre aléatoire entre 5 et 15 (inclus), par exemple, utilisez rand (5, 15). Danh sách cài đặtTrả về giá trị Lịch sửgetrandmax(). i.e. (max - min) <= getrandmax() sinon, rand() peut retourner des nombres aléatoires de mauvaise qualité. Được gọi là không có các tùy chọn tối đa và tối đa, rand () trả về số giả giữa 0 và getrandmax (). Nếu bạn muốn một số ngẫu nhiên trong khoảng từ 5 đến 15 (bao gồm), ví dụ, sử dụng rand (5, 15).
Rand (): int(): int ¶ Rand (int $ min, int $ max): int(int $min, int $max): int Được gọi là không có các tùy chọn tối đa và tối đa, rand () trả về số giả giữa 0 và getrandmax (). Nếu bạn muốn một số ngẫu nhiên trong khoảng từ 5 đến 15 (bao gồm), ví dụ, sử dụng rand (5, 15).rand() retourne un nombre pseudoaléatoire entre 0 et getrandmax(). Si vous voulez un nombre aléatoire entre 5 et 15 (inclus), par exemple, utilisez rand (5, 15). Chú ý Hàm này không tạo ra các giá trị an toàn từ quan điểm mật mã và không nên được sử dụng trong bối cảnh mã hóa. Nếu bạn cần một giá trị an toàn từ quan điểm mật mã, hãy sử dụng Random_int (), Random_Bytes () hoặc OpenSSL_Random_Pseudo_Bytes ().random_int(), random_bytes(), ou openssl_random_pseudo_bytes(). Kết quả của ví dụ trên tương tự như:for ($i = 0, $z = strlen($a = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890')-1, $s = $a{rand(0,$z)}, $i = 1; $i != 32; $x = rand(0,$z), $s .= $a{$x}, $s = ($s{$i} == $s{$i-1} ? substr($s,0,-1) : $s), $i=strlen($s)); ?> For those of you who want both as a function, use this: Hàm này không tạo ra các giá trị an toàn từ quan điểm mật mã và không nên được sử dụng trong bối cảnh mã hóa. Nếu bạn cần một giá trị an toàn từ quan điểm mật mã, hãy sử dụng Random_int (), Random_Bytes () hoặc OpenSSL_Random_Pseudo_Bytes ().function rand_chars($c, $l, $u = FALSE) { if (!$u) for ($s = '', $i = 0, $z = strlen($c)-1; $i < $l; $x = rand(0,$z), $s .= $c{$x}, $i++); else for ($i = 0, $z = strlen($c)-1, $s = $c{rand(0,$z)}, $i = 1; $i != $l; $x = rand(0,$z), $s .= $c{$x}, $s = ($s{$i} == $s{$i-1} ? substr($s,0,-1) : $s), $i=strlen($s)); return $s; } ?> string $c is the string of characters to use. integer $l is how long you want the string to be. boolean $u is whether or not a character can appear beside itself. Lưu ý: Trên một số nền tảng (ví dụ: Windows), MT_GetRandMax () bị giới hạn ở 32767. Nếu bạn muốn giới hạn lớn hơn 32767, chỉ định Min và Max, bạn sẽ được phép sử dụng khoảng thời gian lớn hơn MT_GetRandma (), hoặc, sử dụng hàm mt_rand () thay thế.rand_chars("ABCEDFG", 10) == GABGFFGCDA rand_chars("ABCEDFG", 10, TRUE) == CBGFAEDFEC Lưu ý: Từ Php 7.1.0, rand () sử dụng cùng một trình tạo số ngẫu nhiên như mt_rand (). Để bảo tồn khả năng tương thích tăng dần, rand () cho phép tối đa nhỏ hơn phút so với lợi nhuận sai của mt_rand () ¶ ¶ Danh sách cài đặt Tối thiểu Giá trị nhỏ nhất để trả về (theo mặc định, 0)rand()&1;// instead ofrand(0,1);// for generating 0 or 1,rand()&3;// instead ofrand(0,3);// for generating 0, 1, 2, or 3,rand()&7;// instead ofrand(0,7)// for generating 0, 1, 2, 3, 4, 5, 6, or 7,?>and so on. All you're doing there is generating a default random number (so PHP doesn't have to parse any arguments) and chopping off the piece that's useful to you (using a bitwise operation which is faster than even basic math). Tối đa ¶ ¶ Ví dụ Ví dụ #1 Ví dụ với Rand () // estimate the number of rows in a table$lekerdezes = mysql_query("select count(*) as rows from table");while ($row = mysql_fetch_assoc($lekerdezes)){ $max = $row["rows"];}?>the count(*) is much faster for the database than grabbing the hole dataset from the table. tiếng vang ¶ ¶ Kết quả của ví dụ trên tương tự như: Ghi chúit's not scientifically approved, but worked for me. Cảnh báo/* * @param float $mean, desired average * @param number $sd, number of items in array * @param number $min, minimum desired random number * @param number $max, maximum desired random number * @return array */ function array_distribute($mean,$sd,$min,$max){ $result = array(); $total_mean = intval($mean*$sd); while($sd>1){ $allowed_max = $total_mean - $sd - $min; $allowed_min = intval($total_mean/$sd); $random = mt_rand(max($min,$allowed_min),min($max,$allowed_max)); $result[]=$random; $sd--; $total_mean-=$random; } $result[] = $total_mean; return $result; } ?> Bãi biển Min Max phải ở Bãi biển Getrandmax (). tức là (tối đa - tối thiểu) ¶ ¶ Xem là tốt Srand () - Khởi tạo trình tạo số ngẫu nhiên GetRandMax () - Giá trị ngẫu nhiên có thể lớn hơn có thể shuffle($arr); // randomize the array $arr = array_slice($arr, 0, 6); // get the first six (random) characters out $str = implode('', $arr); // smush them back into a string jont tại live dot co dot uk ¶ ¶ ¶ 15 năm trước Đây không phải là một cách đơn giản hơn để tạo ID ngẫu nhiên cho một cái gì đó? Ý tôi là tôi biết rằng có một cơ hội rất nhỏ mà một bản sao có thể được thực hiện nhưng đó là một cơ hội rất, rất nhỏ, gần như không thể. $ rand = mt_rand (0, 32); $ code = md5 ($ rand. Time ()); echo "$ code";$code = md5($rand . time());echo "$code"; Và nếu bạn không muốn nó, MD5 có thể bị xóa, tôi chỉ cần thêm nó như một sở thích ở đó :) Jon Janoserki [at] gmail [dot] com ¶ ¶ ¶ 13 năm trước Cách dễ dàng cho MySQL: Rand ngẫu nhiên Row Biểu mẫu gốc là: "... Đặt hàng by rand ()" nhưng đây không phải là cách tốt nhất, bởi vì nó rất chậm bởi một cơ sở dữ liệu lớn (có thể mất nhiều phút hơn để hoàn thành yêu cầu!) gợi ý:the original form is: "... order by rand()"but this is not the best way, because it's very slow by a big database (it can take more minutes to complete the request!)My suggestion: // estimate the number of rows in a table$lekerdezes = mysql_query("select * from table");$max = mysql_num_rows($lekerdezes);// pick one$rand = rand(1,$max);$lekerdezes2 = mysql_query("select * from table limit $rand, 1");// that's all folks :)?> Ishtar ¶ ¶ ¶ 14 năm trước Một nhận xét nhỏ về kết luận của PHPDEV-Dunnbypauls rằng rand () chỉ tạo ra các số có số lượng 3. Vì, 100000/32768 = 3.05 Bạn nhận được bội số của 3. Số nguyên ngẫu nhiên sẽ được nhân với 3.05 để phù hợp giữa 0 đến 100000. rand () hoạt động tốt, nếu bạn không yêu cầu số lượng lớn hơn thì rand_max.$n = rand(0,100000); // with MAX_RAND=32768?>Since, 100000/32768=3.05 you get multiples of 3. The random integer will be multiplied by 3.05 to fit between 0 and 100000. rand() works fine, if you don't ask for bigger numbers then RAND_MAX. PHPDEV tại Dunnbypaul dot net ¶ ¶ ¶ 15 năm trước Đây là một lưu ý thú vị về sự thấp kém của hàm rand (). Ví dụ, thử mã sau ... $r = array(0,0,0,0,0,0,0,0,0,0,0);for ($i=0;$i= array(0,0,0,0,0,0,0,0,0,0,0); Ishtar ¶( [0] => 31 [1] => 0 [2] => 0 [3] => 31 [4] => 0 [5] => 0 [6] => 30 [7] => 0 [8] => 0 [9] => 31 [10] => 0) 14 năm trước Một nhận xét nhỏ về kết luận của PHPDEV-Dunnbypauls rằng rand () chỉ tạo ra các số có số lượng 3. Vì, 100000/32768 = 3.05 Bạn nhận được bội số của 3. Số nguyên ngẫu nhiên sẽ được nhân với 3.05 để phù hợp giữa 0 đến 100000. rand () hoạt động tốt, nếu bạn không yêu cầu số lượng lớn hơn thì rand_max.$n = rand(0,100000); // with MAX_RAND=32768?>Since, 100000/32768=3.05 you get multiples of 3. The random integer will be multiplied by 3.05 to fit between 0 and 100000. rand() works fine, if you don't ask for bigger numbers then RAND_MAX. PHPDEV tại Dunnbypaul dot net ¶ ¶ Đây là một lưu ý thú vị về sự thấp kém của hàm rand (). Ví dụ, thử mã sau ... $r = array(0,0,0,0,0,0,0,0,0,0,0);for ($i=0;$i Ishtar ¶( [0] => 31 [1] => 0 [2] => 0 [3] => 31 [4] => 0 [5] => 0 [6] => 30 [7] => 0 [8] => 0 [9] => 31 [10] => 0) ¶ Một nhận xét nhỏ về kết luận của PHPDEV-Dunnbypauls rằng rand () chỉ tạo ra các số có số lượng 3. Vì, 100000/32768 = 3.05 Bạn nhận được bội số của 3. Số nguyên ngẫu nhiên sẽ được nhân với 3.05 để phù hợp giữa 0 đến 100000. rand () hoạt động tốt, nếu bạn không yêu cầu số lượng lớn hơn thì rand_max. PHPDEV tại Dunnbypaul dot net ¶( [0] => 8 [1] => 8 [2] => 14 [3] => 16 [4] => 9 [5] => 11 [6] => 8 [7] => 9 [8] => 7 [9] => 7 [10] => 9) Mảng (& nbsp; & nbsp; [0] => 31 & nbsp; & nbsp; [1] => 0 & nbsp; & nbsp; [2] => 0 & nbsp; & nbsp; [3] => 31 & nbsp; & nbsp; [4] ; [5] => 0 & nbsp; & nbsp; [6] => 30 & nbsp; & nbsp; [7] => 0 & nbsp; & nbsp; > 0) ¶ Trong phạm vi này chỉ có bội số của 3 đang được chọn. Cũng lưu ý rằng các giá trị được điền luôn luôn là 30 hoặc 31 (không có giá trị nào khác! Thực sự!) ¶ Bây giờ hãy thay thế rand () bằng mt_rand () và xem sự khác biệt ... Mảng (& nbsp; & nbsp; [0] => 8 & nbsp; & nbsp; [1] => 8 & nbsp; & nbsp; [2] => 14 & nbsp; & nbsp; [3] => 16 & nbsp; & nbsp; ; [5] => 11 & nbsp; & nbsp; [6] => 8 & nbsp; & nbsp; [7] => 9 & nbsp; & nbsp; > 9)substr(str_shuffle(str_repeat('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',5)),0,5);?>The strings can be repeated to have the possibility that a character appears multiple times. Ishtar ¶ ¶ ¶ 14 năm trước Một nhận xét nhỏ về kết luận của PHPDEV-Dunnbypauls rằng rand () chỉ tạo ra các số có số lượng 3. Vì, 100000/32768 = 3.05 Bạn nhận được bội số của 3. Số nguyên ngẫu nhiên sẽ được nhân với 3.05 để phù hợp giữa 0 đến 100000. rand () hoạt động tốt, nếu bạn không yêu cầu số lượng lớn hơn thì rand_max.$n = rand(0,100000); // with MAX_RAND=32768?>Since, 100000/32768=3.05 you get multiples of 3. The random integer will be multiplied by 3.05 to fit between 0 and 100000. rand() works fine, if you don't ask for bigger numbers then RAND_MAX. PHPDEV tại Dunnbypaul dot net ¶ ¶GeraHash($qtd){ 15 năm trước Đây là một lưu ý thú vị về sự thấp kém của hàm rand (). Ví dụ, thử mã sau ...;} //Here you specify how many characters the returning string must have echo GeraHash(30); ?> $r = array(0,0,0,0,0,0,0,0,0,0,0);for ($i=0;$i ¶ PHPDEV tại Dunnbypaul dot net ¶ Đây là một lưu ý thú vị về sự thấp kém của hàm rand (). Ví dụ, thử mã sau ... //~ srand(9);xfunction gen(){$len = 10 ; $x = ''; for ($i = 0 ; $i < $len ; $i ++) { $x .= intval(rand(0,9)); }return $x;} Ishtar ¶ 14 năm trước= 0 ; $i < 100 ; $i++){$x = gen();echo $x,PHP_EOL;?>= 0 ; $i < 100 ; $i++){$x = gen(); echo $x,PHP_EOL; Một nhận xét nhỏ về kết luận của PHPDEV-Dunnbypauls rằng rand () chỉ tạo ra các số có số lượng 3. Vì, 100000/32768 = 3.05 Bạn nhận được bội số của 3. Số nguyên ngẫu nhiên sẽ được nhân với 3.05 để phù hợp giữa 0 đến 100000. rand () hoạt động tốt, nếu bạn không yêu cầu số lượng lớn hơn thì rand_max. ?>PHPDEV tại Dunnbypaul dot net ¶ ¶ ¶ Đây là một lưu ý thú vị về sự thấp kém của hàm rand (). Ví dụ, thử mã sau ... //~ srand(9);xfunction gen(){$len = 10 ; $x = ''; for ($i = 0 ; $i < $len ; $i ++) { $x .= intval(rand(0,9)); }return $x;} Ishtar ¶ 14 năm trước= 0 ; $i < 100 ; $i++){$x = gen();echo $x,PHP_EOL;?>s($length){ Một nhận xét nhỏ về kết luận của PHPDEV-Dunnbypauls rằng rand () chỉ tạo ra các số có số lượng 3. Vì, 100000/32768 = 3.05 Bạn nhận được bội số của 3. Số nguyên ngẫu nhiên sẽ được nhân với 3.05 để phù hợp giữa 0 đến 100000. rand () hoạt động tốt, nếu bạn không yêu cầu số lượng lớn hơn thì rand_max. ¶ PHPDEV tại Dunnbypaul dot net ¶ ¶ Mảng (& nbsp; & nbsp; [0] => 31 & nbsp; & nbsp; [1] => 0 & nbsp; & nbsp; [2] => 0 & nbsp; & nbsp; [3] => 31 & nbsp; & nbsp; [4] ; [5] => 0 & nbsp; & nbsp; [6] => 30 & nbsp; & nbsp; [7] => 0 & nbsp; & nbsp; > 0) PHPDEV tại Dunnbypaul dot net ¶ ¶ ¶ PHPDEV tại Dunnbypaul dot net ¶ ¶ Một nhận xét nhỏ về kết luận của PHPDEV-Dunnbypauls rằng rand () chỉ tạo ra các số có số lượng 3. Vì, 100000/32768 = 3.05 Bạn nhận được bội số của 3. Số nguyên ngẫu nhiên sẽ được nhân với 3.05 để phù hợp giữa 0 đến 100000. rand () hoạt động tốt, nếu bạn không yêu cầu số lượng lớn hơn thì rand_max. PHPDEV tại Dunnbypaul dot net ¶ ¶ Đây là một lưu ý thú vị về sự thấp kém của hàm rand (). Ví dụ, thử mã sau ... Mảng (& nbsp; & nbsp; [0] => 31 & nbsp; & nbsp; [1] => 0 & nbsp; & nbsp; [2] => 0 & nbsp; & nbsp; [3] => 31 & nbsp; & nbsp; [4] ; [5] => 0 & nbsp; & nbsp; [6] => 30 & nbsp; & nbsp; [7] => 0 & nbsp; & nbsp; > 0) Ishtar ¶ 14 năm trước= 0 ; $i < 100 ; $i++){$x = gen();echo $x,PHP_EOL;?> Một nhận xét nhỏ về kết luận của PHPDEV-Dunnbypauls rằng rand () chỉ tạo ra các số có số lượng 3. Vì, 100000/32768 = 3.05 Bạn nhận được bội số của 3. Số nguyên ngẫu nhiên sẽ được nhân với 3.05 để phù hợp giữa 0 đến 100000. rand () hoạt động tốt, nếu bạn không yêu cầu số lượng lớn hơn thì rand_max. ¶ PHPDEV tại Dunnbypaul dot net ¶ ¶ Mảng (& nbsp; & nbsp; [0] => 31 & nbsp; & nbsp; [1] => 0 & nbsp; & nbsp; [2] => 0 & nbsp; & nbsp; [3] => 31 & nbsp; & nbsp; [4] ; [5] => 0 & nbsp; & nbsp; [6] => 30 & nbsp; & nbsp; [7] => 0 & nbsp; & nbsp; > 0) Trong phạm vi này chỉ có bội số của 3 đang được chọn. Cũng lưu ý rằng các giá trị được điền luôn luôn là 30 hoặc 31 (không có giá trị nào khác! Thực sự!) function s($length){ for($i=0;($i Ishtar ¶ ¶ Opbarnes ¶ ¶ 13 năm trước Tạo chuỗi alpha 5 ký tự ngẫu nhiên: in preg_replace ('/([])/e', 'chr (rand (97,122))', '& nbsp; & nbsp; & nbsp;');?>?preg_replace('/([ ])/e', 'chr(rand(97,122))', ' '); bozo_z_clown tại yahoo dot com ¶ ¶ 15 năm trước Lưu ý rằng việc gieo hạt tự động dường như được thực hiện với số giây hiện tại có nghĩa là bạn có thể nhận được kết quả tương tự cho một số lần chạy trên máy chủ nhanh. & NBSP; Hoặc tự gọi srand () với một hạt giống thay đổi thường xuyên hơn hoặc sử dụng mt_rand () mà dường như không gặp phải vấn đề. Pasafama tại gmail dot com ¶ ¶ 5 năm trước Từ Php 7.1 rand () được ghi nhận là bí danh của mt_rand (). Trên thực tế, nếu chúng được gọi với hai đối số trong đó thứ hai nhỏ hơn so với thứ nhất, đầu ra của chúng khác nhau. Ví dụ var_dump (rand (2,1), mt_rand (2,1)); có thể trở lại CẢNH BÁO: MT_RAND (): Max (1) nhỏ hơn Min (2) Int (2) Bool (Sai) trong đó rand () sẽ trả về một giá trị ngẫu nhiên giữa $ max và $ min Ẩn danh ¶ ¶ 14 năm trước Cách nhanh chóng để tạo các số ngẫu nhiên và các chuỗi đơn giản. Không làm rối xung quanh với các chức năng, vì vậy bạn có thể chỉ cần bật dòng vào giữa mã hiện tại của bạn. Không phải là hoàn hảo nhất để chắc chắn, nhưng ok cho nhiều tình huống ... $ ngẫu nhiên_number = intval ("0". Rand (1,9). Rand (0,9). Rand (0,9). Rand (0,9). Rand (0,9)); // ngẫu nhiên (ish) 5 chữ số int $ ngẫu nhiên_string = chr (rand (65,90)). CHR (RAND (65,90)). CHR (RAND (65,90)). CHR (RAND (65,90)). CHR (RAND (65,90)); // Chuỗi nhân vật ngẫu nhiên (ish) 5?> Hy vọng ai đó thấy nó hữu ích cho thứ gì đó.intval( "0" . rand(1,9) . rand(0,9) . rand(0,9) . rand(0,9) . rand(0,9) ); // random(ish) 5 digit int$random_string = chr(rand(65,90)) . chr(rand(65,90)) . chr(rand(65,90)) . chr(rand(65,90)) . chr(rand(65,90)); // random(ish) 5 character string?>hope someone finds it useful for somthing. Trân trọng, Deeeeeeen alxndr0u John Galt ¶ ¶ 12 năm trước Một cách khác để tạo một mảng các số ngẫu nhiên trong đó không có số giống hệt nhau. ($ n = số lượng số ngẫu nhiên để trả về trong mảng $ min = số tối thiểu $ max = số tối đa) hàm Uniquerand ($ n, $ min = 0, $ max = null) {& nbsp; if ($ max === null) & nbsp; & nbsp; $ max = getRandMax (); & nbsp; $ mảng = phạm vi ($ min, $ max); & nbsp; $ return = mảng (); & nbsp; $ keys = mảng_rand ($ mảng, $ n); & nbsp; foreach ($ khóa là $ key) & nbsp; & nbsp; $ return [] = $ mảng [$ key]; & nbsp; trả lại $ return; }?>uniqueRand($n, $min = 0, $max =
null) Thibault Dot Debatty tại Gmail Dot Com ¶ ¶ 10 năm trước Trong Suhosin phiên bản 0.9.26 (phát hành 2008,08,22) trở lên:- rand () và srand () được sửa đổi một cách trong suốt để sử dụng thuật toán twister mersenne với trạng thái riêng biệt () và mt_rand () có hạt giống bên trong tốt hơn ( ) và mt_srand () bị bỏ qua (có thể được cấu hình) Davidsteinsland [at] gmail [dot] com ¶ ¶ 14 năm trước Cách nhanh chóng để tạo các số ngẫu nhiên và các chuỗi đơn giản. Không làm rối xung quanh với các chức năng, vì vậy bạn có thể chỉ cần bật dòng vào giữa mã hiện tại của bạn. Không phải là hoàn hảo nhất để chắc chắn, nhưng ok cho nhiều tình huống ... $ ngẫu nhiên_number = intval ("0". Rand (1,9). Rand (0,9). Rand (0,9). Rand (0,9). Rand (0,9)); // ngẫu nhiên (ish) 5 chữ số int $ ngẫu nhiên_string = chr (rand (65,90)). CHR (RAND (65,90)). CHR (RAND (65,90)). CHR (RAND (65,90)). CHR (RAND (65,90)); // Chuỗi nhân vật ngẫu nhiên (ish) 5?> Hy vọng ai đó thấy nó hữu ích cho thứ gì đó. Trân trọng, Deeeeeeen alxndr0u ¶ 15 năm trước Lưu ý rằng việc gieo hạt tự động dường như được thực hiện với số giây hiện tại có nghĩa là bạn có thể nhận được kết quả tương tự cho một số lần chạy trên máy chủ nhanh. & NBSP; Hoặc tự gọi srand () với một hạt giống thay đổi thường xuyên hơn hoặc sử dụng mt_rand () mà dường như không gặp phải vấn đề. Pasafama tại gmail dot com ¶rand_permute($size, $min,
$max) 5 năm trước ¶ 10 năm trước Trong Suhosin phiên bản 0.9.26 (phát hành 2008,08,22) trở lên:- rand () và srand () được sửa đổi một cách trong suốt để sử dụng thuật toán twister mersenne với trạng thái riêng biệt () và mt_rand () có hạt giống bên trong tốt hơn ( ) và mt_srand () bị bỏ qua (có thể được cấu hình) Davidsteinsland [at] gmail [dot] com ¶randomAlphaNum($length){ $rangeMin = pow(36, $length-1); //smallest number to
give length digits in base 36 MPARSA1372 tại Gmail Dot Com ¶ ¶ 1 năm trước Thay đổi màu nền với rand () và phong cách: & nbsp; & nbsp; & nbsp; & nbsp; $ r = rand (0,255); & nbsp; & nbsp; & nbsp; & nbsp; $ g = rand (0,255); & nbsp; & nbsp; & nbsp; & nbsp; $ b = rand (0,255); & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Echo & nbsp; '$ r, $ g, $ b) ".'"> ';?>rand(0,255);$g = rand(0,255); $b = rand(0,255); echo ' $r, $g, $b)" . '">';?> Matthias Dot Isler tại Gmail Dot Com ¶ ¶ 10 năm trước Tôi đã phải tạo một hàm tạo ra một số nguyên phân phối nhị thức ngẫu nhiên. Hãy xem bài viết Wiki sau: http://en.wikipedia.org/wiki/binomial_distribution Đây là giải pháp của tôi: function bin_rand($min = null, $max = null) Ẩn danh ¶ ¶ 12 năm trước Tạo 5 ký tự ngẫu nhiên A-Z0-9 & NBSP; sợi dây for ($ i = 0; $ i # php -r 'for ($ i = 0; $ i$i=0; $i<6; $i++) { moonwalker509 tại gmail dot com ¶ ¶ 5 năm trước Tôi đã viết điều này nhiều năm trước và chỉ tìm thấy nó. Tôi nghĩ tôi chia sẻ. Những gì nó làm là tạo ra các số ngẫu nhiên 0-9, bảng chữ cái A-Z hoặc chữ và số là sự kết hợp của các số và bảng chữ cái. Tôi đã biến nó thành một lớp học trước khi chia sẻ. Làm với nó những gì bạn muốn. Giải quyết một số vấn đề của tôi. lớp ngẫu nhiên {& nbsp; Hàm tĩnh công khai Số ($ length) & nbsp; & nbsp; & nbsp; {& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; $ chars = "1234567890"; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; $ clen & nbsp; & nbsp; = strlen ($ chars) -1; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; $ id & nbsp; = '';Random{ & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; vì ( $i = 0; $i < $length; $i++) {$id .= $chars[mt_rand(0,$clen)]; } return ($id); } & nbsp; chức năng tĩnh công khai Alphabets($length){ $chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; $clen = strlen( $chars )-1; $id = ''; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; vì ( $i = 0; $i < $length; $i++) {$id .= $chars[mt_rand(0,$clen)]; } return ($id); } & nbsp; chức năng tĩnh công khai AlphaNumeric($length){ $chars = "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; $clen = strlen( $chars )-1; $id = ''; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; vì ( $i = 0; $i < $length; $i++) {$id .= $chars[mt_rand(0,$clen)]; } return ($id); } } echo Random::Numeric(6); # eg result: "567268"echo Random::Alphabets(9); # eg result: IAGRmZyJS echo Random::AlphaNumeric(10); #eg result: Gzt6syUS8M?> & nbsp; chức năng tĩnh công khai ¶ & nbsp; tiếng vang David [at] ddrewdesign [dot] com ¶ 13 năm trước Đến Jano và Peta:= rand(1,$max); Cảm ơn vì mã. Trong việc sử dụng thế giới thực, tôi chỉ gặp một vấn đề với nó: nó sẽ không bao giờ trả về kết quả đầu tiên của mảng (hoặc nó sẽ không trả lại gì nếu chỉ có một mục trong mảng). Để khắc phục điều này, tôi chỉ đơn giản là trừ 1 từ= rand(1,$max)-1; $ rand = rand (1, $ max);?> Như vậy: ¶ $ rand = rand (1, $ max) -1;?> Mặc dù vậy, cảm ơn vì mã bạn đã cung cấp. Đó chính xác là những gì tôi cần. Alex Khimch Alex tại Khim Dot Removeit dot ich dot org ¶ 11 năm trước Ngẫu nhiên không thực sự là ngẫu nhiên.("Content-type: image/png"); for( $i=0;$i=0;$i=0;$i<500;$i++) {for($j=0;$j<500;$j++) { imagesetpixel($img, rand(1,500), rand(1,500), $ink1); } }imagepng($img); imagedestroy($img);?> I expected to get pixel noise, but instead one can see plain diagonal lines. Nó dễ dàng được minh họa bằng cách nhân RAND (1.500) với RAND (1.500) và hiển thị đầu ra trên hình ảnh: ¶ & nbsp; tiếng vang David [at] ddrewdesign [dot] com ¶ 13 năm trướcgenerateRandStr($length){ Đến Jano và Peta: Cảm ơn vì mã. Trong việc sử dụng thế giới thực, tôi chỉ gặp một vấn đề với nó: nó sẽ không bao giờ trả về kết quả đầu tiên của mảng (hoặc nó sẽ không trả lại gì nếu chỉ có một mục trong mảng). Để khắc phục điều này, tôi chỉ đơn giản là trừ 1 từ ¶ $ rand = rand (1, $ max);?> Như vậy: $ rand = rand (1, $ max) -1;?> Mặc dù vậy, cảm ơn vì mã bạn đã cung cấp. Đó chính xác là những gì tôi cần. Xem trong PHP Cả hai chữ cái và số đều có thể hạt giống như các chữ cái cũng được coi là số. Bạn luôn có thể sử dụng mã thông báo cá nhân bằng cách trích xuất phần tử với DOM .. nhưng dưới đây có hiệu quả không kém! srand (file_get_contents ('http://eed.feeds.labs.coop')); ?>file_get_contents('http://seed.feeds.labs.coop')); ?>szeryf.wordpress.com ¶ 11 năm trước Cách dễ dàng hơn nhiều để tạo chuỗi số và chữ cái ngẫu nhiên: $ n = rand (10e16, 10e20); echo base_convert ($ n, 10, 36);?> Điều này tạo ra các chuỗi khoảng 11 ký tự. Thử nghiệm với phạm vi cho rand () nếu bạn muốn ngắn hơn hoặc dài hơn.=
rand(10e16, 10e20); Greg R. ¶ ¶ 13 năm trước Tôi nghĩ rằng hàm này (màu ngẫu nhiên) có thể được sử dụng cho ai đó [để tạo và trả lại một hex ngẫu nhiên cho màu HTML]: hàm get_random_color () {& nbsp; & nbsp; for ($ i = 0; $ iget_random_color() liveon biết [at] gmail [dot] com ¶ ¶ 12 năm trước // để kéo 7 giá trị ngẫu nhiên duy nhất ra khỏi chữ và số // Đã xóa số 0, vốn O, số 1 và tổng l // tổng số: khóa = 32, phần tử = 33 "A","B","C","D","E","F","G","H","J","K","L","M", "N","P","Q","R","S","T","U","V","W","X","Y","Z", "1","2","3","4","5","6","7","8","9");//make an "empty container" or array for our keys $keys = array();//first count of $keys is empty so "1", remaining count is 1-6 = total 7 times while(count($keys) < 7) { //"0" because we use this to FIND ARRAY KEYS which has a 0 value //"-1" because were only concerned of number of keys which is 32 not 33 //count($characters) = 33 $x = mt_rand(0, count($characters)-1); if(!in_array($x, $keys)) { $keys[] = $x; } } foreach( $keys as $key){$random_chars .= $characters[$key]; } echo $random_chars; ?> Smaaps tại Kaldamar Dot de ¶ ¶ 17 năm trước Gần đây tôi cần một số số ngẫu nhiên với phân phối Gaussian (bình thường), không được phân phối đồng đều như các số được tạo bởi rand (). Sau khi googling một thời gian, tôi phát hiện ra rằng không có algrorithm hoàn hảo nào tạo ra những con số như vậy từ các số ngẫu nhiên bị mất tập trung đồng đều nhưng một vài phương pháp có hiệu ứng tương tự. Hàm sau đây thực hiện cả ba thuật toán tôi tìm thấy- hai phương thức cuối cùng tạo ra các số trong đó bạn có thể tìm thấy một ranh giới dưới và trên và từng phương thức sẽ tạo ra một số theo thời gian (chẳng hạn như một trong mỗi 10000) xa giá trị trung bình. Hãy thử nghiệm vui vẻ và sử dụng nó. hàm Gauss ($ thuật toán = "polar") {& nbsp; & nbsp; $ randmax = 9999;gauss($algorithm = "polar") { & nbsp; & nbsp; & nbsp; & nbsp; công tắc( $algorithm) { //polar-methode by marsagliacase "polar": $v = 2; while ($v > 1) { $u1 = rand(0, $randmax) / $randmax; $u2 = rand(0, $randmax) / $randmax; $v = (2 * $u1 - 1) * (2 * $u1 - 1) + (2 * $u2 - 1) * (2 * $u2 - 1); } & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 2* $u1 - 1) * (( -2 * log($v) / $v) ^ 0.5); // box-muller-methodcase "boxmuller": do { $u1 = rand(0, $randmax) / $randmax; $u2 = rand(0, $randmax) / $randmax; $x = sqrt(-2 * log($u1)) * cos(2 * pi() * $u2); } while (strval($x) == "1.#INF" or strval($x) == "-1.#INF"); // the check has to be done cause sometimes (1:10000) // values such as "1.#INF" occur and i dont know why return $x; // twelve random numbers case "zwoelfer": $sum = 0; for ($i = 0; $i < 12; $i++) { $sum += rand(0, $randmax) / $randmax; } return $sum; } } ?> Ẩn Danh ¶ ¶ ¶ 1 năm trước LưU Nh khoản rằng họ ĐổI THUật To Toán Trong Phi Của BảN 7.1.0 srand($argv[1]); |