Hướng dẫn how to generate 2 digit unique random number in php? - làm thế nào để tạo số ngẫu nhiên duy nhất có 2 chữ số trong php?

Tôi cần tạo một số ngẫu nhiên với x số lượng chữ số.

Vì vậy, hãy nói x là 5, tôi cần một số để được ví dụ. 35562 Nếu x là 3, thì nó sẽ ném lại một cái gì đó giống như; 463

Ai đó có thể cho tôi thấy điều này được thực hiện như thế nào?

Đã hỏi ngày 21 tháng 11 năm 2011 lúc 17:35Nov 21, 2011 at 17:35

Hướng dẫn how to generate 2 digit unique random number in php? - làm thế nào để tạo số ngẫu nhiên duy nhất có 2 chữ số trong php?

user1022585user1022585user1022585

12.6K19 Huy hiệu vàng53 Huy hiệu bạc74 Huy hiệu đồng19 gold badges53 silver badges74 bronze badges

0

Bạn có thể sử dụng

98450
79324
23017
04317
26479
3 cùng với
98450
79324
23017
04317
26479
4 để thực hiện điều này:

$digits = 3;
echo rand(pow(10, $digits-1), pow(10, $digits)-1);

Điều này sẽ xuất ra một số từ 100 đến 999. Điều này bởi vì 10^2 = 100 và 10^3 = 1000 và sau đó bạn cần trừ nó với một để có được nó trong phạm vi mong muốn.

Nếu 005 cũng là một ví dụ hợp lệ, bạn sẽ sử dụng mã sau để đệm nó bằng các số 0 hàng đầu:

$digits = 3;
echo str_pad(rand(0, pow(10, $digits)-1), $digits, '0', STR_PAD_LEFT);

Đã trả lời ngày 21 tháng 11 năm 2011 lúc 17:38Nov 21, 2011 at 17:38

3

Dưới đây là một giải pháp đơn giản mà không có bất kỳ vòng lặp hoặc bất kỳ rắc rối nào cho phép bạn tạo chuỗi ngẫu nhiên với các ký tự, số hoặc thậm chí với các ký hiệu đặc biệt.

98450
79324
23017
04317
26479
5

trong đó

98450
79324
23017
04317
26479
6 có thể là số chữ số

Ví dụ.

98450
79324
23017
04317
26479
7

Kết quả sau một vài vụ hành quyết

98450
79324
23017
04317
26479

Bạn cũng có thể sử dụng cùng một mã để tạo chuỗi ngẫu nhiên, như thế này

$randomNum=substr(str_shuffle("0123456789abcdefghijklmnopqrstvwxyzABCDEFGHIJKLMNOPQRSTVWXYZ"), 0, $x);

Kết quả với

98450
79324
23017
04317
26479
8

FgHmqpTR3Ox
O9BsNgcPJDb
1v8Aw5b6H7f
haH40dmAxZf
0EpvHL5lTKr

Đã trả lời ngày 13 tháng 6 năm 2017 lúc 13:56Jun 13, 2017 at 13:56

Hướng dẫn how to generate 2 digit unique random number in php? - làm thế nào để tạo số ngẫu nhiên duy nhất có 2 chữ số trong php?

Akshay Khaleakshay KhaleAkshay Khale

7.9018 Huy hiệu vàng49 Huy hiệu bạc58 Huy hiệu Đồng8 gold badges49 silver badges58 bronze badges

2

Bạn có thể sử dụng

98450
79324
23017
04317
26479
9 cho mục đích chính xác đó.

Để giới hạn các giá trị đối với các giá trị với các chữ số X, bạn có thể sử dụng các mục sau:

$x = 3; // Amount of digits
$min = pow(10,$x);
$max = pow(10,$x+1)-1);
$value = rand($min, $max);

Đã trả lời ngày 21 tháng 11 năm 2011 lúc 17:37Nov 21, 2011 at 17:37

Halfanhalfdanhalfdan

32,8K8 Huy hiệu vàng76 Huy hiệu bạc86 Huy hiệu Đồng8 gold badges76 silver badges86 bronze badges

3

Đối xử với số của bạn như một danh sách các chữ số và chỉ nối một chữ số ngẫu nhiên mỗi lần:

function n_digit_random($digits) {
  $temp = "";

  for ($i = 0; $i < $digits; $i++) {
    $temp .= rand(0, 9);
  }

  return (int)$temp;
}

Hoặc một giải pháp số hoàn toàn:

function n_digit_random($digits)
  return rand(pow(10, $digits - 1) - 1, pow(10, $digits) - 1);
}

Đã trả lời ngày 21 tháng 11 năm 2011 lúc 17:37Nov 21, 2011 at 17:37

HalfanhalfdanBlender

32,8K8 Huy hiệu vàng76 Huy hiệu bạc86 Huy hiệu Đồng52 gold badges429 silver badges487 bronze badges

Đối xử với số của bạn như một danh sách các chữ số và chỉ nối một chữ số ngẫu nhiên mỗi lần:


Hoặc một giải pháp số hoàn toàn:0 to 999.

BlenderBlender5 digits.

281K52 Huy hiệu vàng429 Huy hiệu bạc487 Huy hiệu đồngMay 30, 2015 at 14:19

1

function random_numbers($digits) {
    $min = pow(10, $digits - 1);
    $max = pow(10, $digits) - 1;
    return mt_rand($min, $max);
}

Cách đơn giản nhất tôi có thể nghĩ đến là sử dụng chức năng

$randomNum=substr(str_shuffle("0123456789abcdefghijklmnopqrstvwxyzABCDEFGHIJKLMNOPQRSTVWXYZ"), 0, $x);
0 với
$randomNum=substr(str_shuffle("0123456789abcdefghijklmnopqrstvwxyzABCDEFGHIJKLMNOPQRSTVWXYZ"), 0, $x);
1

Trong ví dụ trên, nó sẽ tạo ra số ngẫu nhiên trong phạm vi 0 đến 999.Nov 21, 2011 at 17:40

Hướng dẫn how to generate 2 digit unique random number in php? - làm thế nào để tạo số ngẫu nhiên duy nhất có 2 chữ số trong php?

Và có 5 chữ số.animuson

Đã trả lời ngày 30 tháng 5 năm 2015 lúc 14:1928 gold badges139 silver badges145 bronze badges

4

Đã thử nghiệm ở đây.

benchmark:

$digits = 3;
echo str_pad(rand(0, pow(10, $digits)-1), $digits, '0', STR_PAD_LEFT);
0

Đã trả lời ngày 21 tháng 11 năm 2011 lúc 17:40

Animuson ♦ AnimusonFeb 21, 2017 at 16:36

52.8K28 Huy hiệu vàng139 Huy hiệu bạc145 Huy hiệu đồngAlex

$randomNum=substr(str_shuffle("0123456789abcdefghijklmnopqrstvwxyzABCDEFGHIJKLMNOPQRSTVWXYZ"), 0, $x);
2 hoạt động nhanh hơn x4 lần
$randomNum=substr(str_shuffle("0123456789abcdefghijklmnopqrstvwxyzABCDEFGHIJKLMNOPQRSTVWXYZ"), 0, $x);
34 silver badges9 bronze badges

1

Cả hai chức năng đều chạy trong 100000 lần lặp để làm cho kết quả rõ ràng hơn

$digits = 3;
echo str_pad(rand(0, pow(10, $digits)-1), $digits, '0', STR_PAD_LEFT);
1

Đã trả lời ngày 21 tháng 2 năm 2017 lúc 16:36Jun 19, 2019 at 11:22

AlexalexAnoop P S

3414 Huy hiệu bạc9 Huy hiệu Đồng1 gold badge11 silver badges30 bronze badges

Vâng, bạn có thể sử dụng làm chức năng PHP đơn giản MT_RAND (2000,9000) có thể tạo số ngẫu nhiên 4 chữ số

$digits = 3;
echo str_pad(rand(0, pow(10, $digits)-1), $digits, '0', STR_PAD_LEFT);
2

Đã trả lời ngày 19 tháng 6 năm 2019 lúc 11:22Nov 21, 2011 at 17:39

Anoop p sanoop p sRene Pot

7041 Huy hiệu vàng11 Huy hiệu bạc 30 Huy hiệu Đồng7 gold badges67 silver badges91 bronze badges

0

Làm điều đó với một vòng lặp:

usage:

$digits = 3;
echo str_pad(rand(0, pow(10, $digits)-1), $digits, '0', STR_PAD_LEFT);
3

Trong ví dụ trên, nó sẽ tạo ra số ngẫu nhiên trong phạm vi 0 đến 999.Nov 21, 2011 at 17:40

Và có 5 chữ số.easyb

Đã trả lời ngày 30 tháng 5 năm 2015 lúc 14:191 silver badge8 bronze badges

1

$digits = 3;
echo str_pad(rand(0, pow(10, $digits)-1), $digits, '0', STR_PAD_LEFT);
4

Đã thử nghiệm ở đây.Mar 30, 2016 at 8:26

Hướng dẫn how to generate 2 digit unique random number in php? - làm thế nào để tạo số ngẫu nhiên duy nhất có 2 chữ số trong php?

1

Đã trả lời ngày 21 tháng 11 năm 2011 lúc 17:40

Animuson ♦ Animuson

52.8K28 Huy hiệu vàng139 Huy hiệu bạc145 Huy hiệu đồng

$randomNum=substr(str_shuffle("0123456789abcdefghijklmnopqrstvwxyzABCDEFGHIJKLMNOPQRSTVWXYZ"), 0, $x);
2 hoạt động nhanh hơn x4 lần
$randomNum=substr(str_shuffle("0123456789abcdefghijklmnopqrstvwxyzABCDEFGHIJKLMNOPQRSTVWXYZ"), 0, $x);
3

Cả hai chức năng đều chạy trong 100000 lần lặp để làm cho kết quả rõ ràng hơn

Hướng dẫn how to generate 2 digit unique random number in php? - làm thế nào để tạo số ngẫu nhiên duy nhất có 2 chữ số trong php?

Đã trả lời ngày 21 tháng 2 năm 2017 lúc 16:36

Alexalex2 gold badges16 silver badges39 bronze badges

3414 Huy hiệu bạc9 Huy hiệu ĐồngSep 4, 2019 at 9:43

Hướng dẫn how to generate 2 digit unique random number in php? - làm thế nào để tạo số ngẫu nhiên duy nhất có 2 chữ số trong php?

Vâng, bạn có thể sử dụng làm chức năng PHP đơn giản MT_RAND (2000,9000) có thể tạo số ngẫu nhiên 4 chữ số

$digits = 3;
echo str_pad(rand(0, pow(10, $digits)-1), $digits, '0', STR_PAD_LEFT);
5

Đã trả lời ngày 19 tháng 6 năm 2019 lúc 11:22May 26, 2020 at 15:46

Anoop p sanoop p s

7041 Huy hiệu vàng11 Huy hiệu bạc 30 Huy hiệu Đồng

Làm điều đó với một vòng lặp:Dec 18, 2014 at 10:08

Hướng dẫn how to generate 2 digit unique random number in php? - làm thế nào để tạo số ngẫu nhiên duy nhất có 2 chữ số trong php?

Susantha7Susantha7Susantha7

Đã trả lời ngày 21 tháng 11 năm 2011 lúc 17:391 gold badge18 silver badges36 bronze badges

Rene Potren Pot

$digits = 3;
echo str_pad(rand(0, pow(10, $digits)-1), $digits, '0', STR_PAD_LEFT);
7

24.3K7 Huy hiệu vàng67 Huy hiệu bạc91 Huy hiệu Đồng

$randomNum=substr(str_shuffle("0123456789abcdefghijklmnopqrstvwxyzABCDEFGHIJKLMNOPQRSTVWXYZ"), 0, $x);
0 hoặc
$randomNum=substr(str_shuffle("0123456789abcdefghijklmnopqrstvwxyzABCDEFGHIJKLMNOPQRSTVWXYZ"), 0, $x);
5 sẽ làm ...Mar 19, 2015 at 9:37

EasyBeasybMRodrigues

681 Huy hiệu bạc8 Huy hiệu đồng1 gold badge16 silver badges21 bronze badges

$digits = 3;
echo str_pad(rand(0, pow(10, $digits)-1), $digits, '0', STR_PAD_LEFT);
8

Đã trả lời ngày 30 tháng 3 năm 2016 lúc 8:26Feb 18, 2017 at 15:31

Bạn có thể tạo bất kỳ số ngẫu nhiên chữ X nào với hàm

$randomNum=substr(str_shuffle("0123456789abcdefghijklmnopqrstvwxyzABCDEFGHIJKLMNOPQRSTVWXYZ"), 0, $x);
6.

$digits = 3;
echo str_pad(rand(0, pow(10, $digits)-1), $digits, '0', STR_PAD_LEFT);
9

$randomNum=substr(str_shuffle("0123456789abcdefghijklmnopqrstvwxyzABCDEFGHIJKLMNOPQRSTVWXYZ"), 0, $x);
6 nhanh hơn
98450
79324
23017
04317
26479
3.

98450
79324
23017
04317
26479
0

Cú pháp:

$randomNum=substr(str_shuffle("0123456789abcdefghijklmnopqrstvwxyzABCDEFGHIJKLMNOPQRSTVWXYZ"), 0, $x);
6 hoặc
FgHmqpTR3Ox
O9BsNgcPJDb
1v8Aw5b6H7f
haH40dmAxZf
0EpvHL5lTKr
0.

Ví dụ:

FgHmqpTR3Ox
O9BsNgcPJDb
1v8Aw5b6H7f
haH40dmAxZf
0EpvHL5lTKr
1

đọc thêm

StatosdotcomJul 29, 2018 at 9:15

Hướng dẫn how to generate 2 digit unique random number in php? - làm thế nào để tạo số ngẫu nhiên duy nhất có 2 chữ số trong php?

3.0792 Huy hiệu vàng16 Huy hiệu bạc39 Huy hiệu đồngReagan Ochora

Đã trả lời ngày 4 tháng 9 năm 2019 lúc 9:431 gold badge18 silver badges19 bronze badges

Sau đây là phương pháp đơn giản để tạo mã xác minh độ dài cụ thể. Độ dài có thể được chỉ định, theo mặc định, nó tạo ra mã 4 chữ số.

http://php.net/manual/en/function.rand.php

Đã trả lời ngày 26 tháng 5 năm 2020 lúc 15:46

Kịch bản đơn giản này sẽ làm

$digits = 3;
echo str_pad(rand(0, pow(10, $digits)-1), $digits, '0', STR_PAD_LEFT);
6

98450
79324
23017
04317
26479
1

Đã trả lời ngày 18 tháng 12 năm 2014 lúc 10:08

8881 Huy hiệu vàng18 Huy hiệu bạc36 Huy hiệu đồngAug 23, 2018 at 10:10

Yahya Uddinyahya UddinYahya Uddin

24.2K32 Huy hiệu vàng126 Huy hiệu bạc221 Huy hiệu đồng32 gold badges126 silver badges221 bronze badges

5

Mã sau đây tạo số ngẫu nhiên 4 chữ số:

98450
79324
23017
04317
26479
2

Đã trả lời ngày 12 tháng 1 năm 2020 lúc 18:40Jan 12, 2020 at 18:40

Hướng dẫn how to generate 2 digit unique random number in php? - làm thế nào để tạo số ngẫu nhiên duy nhất có 2 chữ số trong php?

1

Bạn thực sự thích làm phức tạp mọi thứ :)

Vấn đề thực sự là OP muốn, có lẽ, thêm vào đó vào cuối một số con số thực sự lớn. Nếu không, tôi không cần phải nghĩ đến điều đó. vì số không bên trái trong bất kỳ số nào là, tốt, các số 0 trái.

Vì vậy, chỉ cần nối phần lớn hơn của số đó dưới dạng tổng toán học chứ không phải chuỗi.

e.g.

FgHmqpTR3Ox
O9BsNgcPJDb
1v8Aw5b6H7f
haH40dmAxZf
0EpvHL5lTKr
5

đơn giản là trở thành

FgHmqpTR3Ox
O9BsNgcPJDb
1v8Aw5b6H7f
haH40dmAxZf
0EpvHL5lTKr
6

done.

Đã trả lời ngày 2 tháng 4 năm 2014 lúc 23:03Apr 2, 2014 at 23:03

GCBGCBgcb

13.4K7 Huy hiệu vàng67 Huy hiệu bạc90 Huy hiệu Đồng7 gold badges67 silver badges90 bronze badges

1

Làm thế nào tôi có thể tạo một số ngẫu nhiên giữa hai số trong PHP?

Hàm Rand () tạo ra một số nguyên ngẫu nhiên.Mẹo ví dụ: Nếu bạn muốn một số nguyên ngẫu nhiên trong khoảng từ 10 đến 100 (bao gồm), hãy sử dụng RAND (10.100).Mẹo: Kể từ Php 7.1, hàm rand () là bí danh của hàm mt_rand ().. Example tip: If you want a random integer between 10 and 100 (inclusive), use rand (10,100). Tip: As of PHP 7.1, the rand() function has been an alias of the mt_rand() function.

Làm cách nào để tạo số 10 chữ số ngẫu nhiên trong PHP?

Các hàm rand () hoặc mt_rand () có thể được sử dụng để tạo số ngẫu nhiên 10 chữ số trong PHP. can be used to Generate 10 Digit Random Number in PHP.

Làm thế nào để bạn tạo ra một số ngẫu nhiên không lặp lại trong PHP?

Đây là các chức năng.PHP:

Làm thế nào để bạn tạo ra các chuỗi chữ và số độc đáo ngẫu nhiên?

Có nhiều cách để tạo chuỗi chữ và số ngẫu nhiên, độc đáo trong PHP được đưa ra dưới đây: sử dụng hàm str_shuffle (): hàm str_shuffle ()cho chức năng như một tham số.Using str_shuffle() Function: The str_shuffle() function is an inbuilt function in PHP and is used to randomly shuffle all the characters of a string passed to the function as a parameter.