Các hàm rand [] hoặc mt_rand [] có thể được sử dụng để tạo số ngẫu nhiên 4 chữ số trong PHP. Các ví dụ được đưa ra dưới đây cho thấy cách tạo số 4 chữ số bằng các hàm rand và mt_rand.Generate 4 Digit Random Number in PHP. Examples given below show how to generate 4 digit number using rand and mt_rand functions.
Tạo số ngẫu nhiên 4 chữ số bằng Rand []
Để tạo số 4 chữ số bằng hàm rand [], chúng tôi sẽ xác định số thấp nhất và số cao nhất là tham số. Hàm Rand [] sẽ trả về một số nguyên ngẫu nhiên giữa các số tối đa và tối đa [bao gồm các số tối đa và tối đa].
Cú pháp của rand []
Hàm cú pháp của rand [] được đưa ra dưới đây.
7
7ví dụ 1
7
7Đầu ra
3425
Tạo số ngẫu nhiên 4 chữ số bằng mt_rand []
hàm mt_rand [] giống như hàm rand [] nhưng nó nhanh hơn 4 lần so với hàm rand []. Để sử dụng hàm mt_rand [] xác định số tối đa và tối đa. Hàm mt_rand [] sẽ trả về một số nguyên ngẫu nhiên giữa các số min và tối đa [bao gồm các số tối đa và tối đa].
Cú pháp của mt_rand []
Hàm cú pháp của hàm mt_rand [] được đưa ra dưới đây.
7
7MT_rand [] trả về false nếu số thứ hai nhỏ hơn số thứ nhất.
Ví dụ 2
7
7Thử nghiệm
Cũng đọc:
Tạo số ngẫu nhiên 1 chữ số trong số ngẫu nhiên 2 chữ số trong PhpGenerate 3 chữ số Số ngẫu nhiên trong PhpGenerate 5 chữ số Số ngẫu nhiên trong PhpGenerate 6 chữ số Số ngẫu nhiên trong PhpGenerate 7 chữ số Số ngẫu nhiên trong PhpGenerate 8 chữ số Số ngẫu nhiên trong PHP
Generate 2 Digit Random Number in PHP
Generate 3 Digit Random Number in PHP
Generate 5 Digit Random Number in
PHP
Generate 6 Digit Random Number in PHP
Generate 7 Digit Random Number in PHP
Generate 8
Digit Random Number in PHP
Generate 9 Digit Random Number in PHP
Generate 10 Digit Random Number in PHP
82
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
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
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
5 cùng với
6 để 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.
7trong đó
8 có thể là số chữ sốVí dụ.
9Kế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
$digits = 3;
echo rand[pow[10, $digits-1], pow[10, $digits]-1];
0FgHmqpTR3Ox
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
Akshay Khaleakshay KhaleAkshay Khale
7.8918 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
$digits = 3;
echo rand[pow[10, $digits-1], pow[10, $digits]-1];
1 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:
0Hoặc một giải pháp số hoàn toàn:
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:
2Hoặ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
3Cách đơn giản nhất tôi có thể nghĩ đến là sử dụng chức năng
$digits = 3;
echo rand[pow[10, $digits-1], pow[10, $digits]-1];
2 với $digits = 3;
echo rand[pow[10, $digits-1], pow[10, $digits]-1];
3Trong 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ố.♦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:
4Đã 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
4 hoạt động nhanh hơn x4 lần $digits = 3;
echo rand[pow[10, $digits-1], pow[10, $digits]-1];
54 silver badges9 bronze badges$digits = 3;
echo rand[pow[10, $digits-1], pow[10, $digits]-1];
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
5Đã 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ố
6Đã 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:
7Trong 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
8Đã thử nghiệm ở đây.Mar 30, 2016 at 8:26
1
Bạn có thể tạo bất kỳ số ngẫu nhiên chữ X nào với hàm
$digits = 3;
echo rand[pow[10, $digits-1], pow[10, $digits]-1];
8.$digits = 3;
echo rand[pow[10, $digits-1], pow[10, $digits]-1];
8 nhanh hơn
5.Cú pháp:
$digits = 3;
echo rand[pow[10, $digits-1], pow[10, $digits]-1];
8 hoặc $digits = 3;
echo str_pad[rand[0, pow[10, $digits]-1], $digits, '0', STR_PAD_LEFT];
2.Ví dụ:
$digits = 3;
echo str_pad[rand[0, pow[10, $digits]-1], $digits, '0', STR_PAD_LEFT];
3đọc thêm
Statosdotcom
3.0792 Huy hiệu vàng16 Huy hiệu bạc39 Huy hiệu đồng2 gold badges16 silver badges39 bronze badges
Đã trả lời ngày 4 tháng 9 năm 2019 lúc 9:43Sep 4, 2019 at 9:43
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ố.
9Đã trả lời ngày 26 tháng 5 năm 2020 lúc 15:46May 26, 2020 at 15:46
Kịch bản đơn giản này sẽ làm
0Đã trả lời ngày 18 tháng 12 năm 2014 lúc 10:08Dec 18, 2014 at 10:08
Susantha7Susantha7Susantha7
8881 Huy hiệu vàng18 Huy hiệu bạc36 Huy hiệu đồng1 gold badge18 silver badges36 bronze badges
Đây là một giải pháp đơn giản khác để tạo ra số lượng N ngẫu nhiên:
1Kiểm tra nó ở đây: //codepad.org/pyvvniof
Đã trả lời ngày 19 tháng 3 năm 2015 lúc 9:37Mar 19, 2015 at 9:37
MrodriguesMrodriguesMRodrigues
1.78716 huy hiệu bạc21 Huy hiệu đồng16 silver badges21 bronze badges
2Đã trả lời ngày 18 tháng 2 năm 2017 lúc 15:31Feb 18, 2017 at 15:31
Chức năng này hoạt động hoàn hảo mà không có lặp lại và số chữ số mong muốn.
3Bạn có thể gọi chức năng và chuyển số chữ số chẳng hạn: ví dụ:
4Kết quả mẫu:
4957 8710 6730 6082 2987 2041 6721
Kịch bản gốc có từ ý chính này
Đã trả lời ngày 29 tháng 7 năm 2018 lúc 9:15Jul 29, 2018 at 9:15
Reagan Ochorareagan OchoraReagan Ochora
1.4671 Huy hiệu vàng18 Huy hiệu bạc19 Huy hiệu đồng1 gold badge18 silver badges19 bronze badges
Xin vui lòng không
5 không tạo ra giá trị an toàn về mặt mật mã theo các tài liệu://php.net/manual/en/function.rand.php
Hàm này không tạo ra các giá trị bảo mật bằng mã hóa và không nên được sử dụng cho mục đích mật mã. Nếu bạn cần một giá trị bảo mật bằng mã hóa, hãy xem xét sử dụng Random_int [], Random_Bytes [] hoặc OpenSSL_Random_Pseudo_Bytes [] thay thế.
Thay vào đó, tốt hơn là sử dụng
$digits = 3;
echo str_pad[rand[0, pow[10, $digits]-1], $digits, '0', STR_PAD_LEFT];
5, có sẵn trên Php 7 [xem: //php.net/manual/en/function.random-int.php].Vì vậy, để mở rộng câu trả lời của @Marcus, bạn nên sử dụng:
5Lưu ý rằng sử dụng
5 là tốt nếu bạn không cần một số ngẫu nhiên an toàn.Đã trả lời ngày 23 tháng 8 năm 2018 lúc 10:10Aug 23, 2018 at 10:10
Yahya Uddinyahya UddinYahya Uddin
24.1K32 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ố:
6Đã trả lời ngày 12 tháng 1 năm 2020 lúc 18:40Jan 12, 2020 at 18:40
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.
$digits = 3;
echo str_pad[rand[0, pow[10, $digits]-1], $digits, '0', STR_PAD_LEFT];
7đơn giản là trở thành
$digits = 3;
echo str_pad[rand[0, pow[10, $digits]-1], $digits, '0', STR_PAD_LEFT];
8done.
Đã 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