Hướng dẫn generate random 6 digit number in php - tạo số ngẫu nhiên có 6 chữ số trong php

Làm thế nào tôi có thể tạo ra một số duy nhất 6 chữ số? Tôi có cơ chế xác minh tại chỗ để kiểm tra các mục trùng lặp.

Peterh

11.1K16 Huy hiệu vàng84 Huy hiệu bạc103 Huy hiệu đồng16 gold badges84 silver badges103 bronze badges

hỏi ngày 28 tháng 3 năm 2011 lúc 20:50Mar 28, 2011 at 20:50

2

$six_digit_random_number = random_int[100000, 999999];

Tất cả các con số từ 100.000 đến 999.999 là sáu chữ số, tất nhiên.

Đã trả lời ngày 28 tháng 3 năm 2011 lúc 20:52Mar 28, 2011 at 20:52

CharlescharlesCharles

50,5K13 Huy hiệu vàng103 Huy hiệu bạc141 Huy hiệu đồng13 gold badges103 silver badges141 bronze badges

6

Nếu bạn muốn nó bắt đầu tại

$num_str = sprintf["%06d", mt_rand[1, 999999]];
4 và truy cập
$num_str = sprintf["%06d", mt_rand[1, 999999]];
5:

$num_str = sprintf["%06d", mt_rand[1, 999999]];

Tâm trí bạn, nó được lưu trữ như một chuỗi.

Đã trả lời ngày 28 tháng 3 năm 2011 lúc 20:52Mar 28, 2011 at 20:52

CharlescharlesTim Cooper

50,5K13 Huy hiệu vàng103 Huy hiệu bạc141 Huy hiệu đồng37 gold badges322 silver badges275 bronze badges

1

Nếu bạn muốn nó bắt đầu tại

$num_str = sprintf["%06d", mt_rand[1, 999999]];
4 và truy cập
$num_str = sprintf["%06d", mt_rand[1, 999999]];
5:

str_pad[mt_rand[0, 999999], 6, '0', STR_PAD_LEFT];

Tâm trí bạn, nó được lưu trữ như một chuỗi.

Tim Coopertim Coopercheck for duplicates, but be cautious since when most numbers will be used, the number of "attempts" [and therefore the time taken] for getting a new number will increase, possibly resulting in very long delays & wasting CPU resources.

155K37 Huy hiệu vàng322 Huy hiệu bạc275 Huy hiệu Đồng

$arrayOfAvailableIDs = array_map[function[$nb] {
    return str_pad[$nb, 6, '0', STR_PAD_LEFT];
}, range[0, 999999]];

$nbAvailableIDs = count[$arrayOfAvailableIDs];

// pick a random ID

$newID = array_splice[$arrayOfAvailableIDs, mt_rand[0, $nbAvailableIDs-1], 1];
$nbAvailableIDs--;

Một cái khác:

Dù sao, đối với tính độc đáo, bạn sẽ phải kiểm tra xem số của bạn chưa được sử dụng.Mar 28, 2011 at 20:54

Bạn nói rằng bạn kiểm tra các bản sao, nhưng hãy thận trọng vì khi hầu hết các số sẽ được sử dụng, số lượng "nỗ lực" [và do đó thời gian thực hiện] để có được một số mới sẽ tăng lên, có thể dẫn đến sự chậm trễ rất dài và lãng phí tài nguyên CPU CPU .Maxime Pacary

Tôi sẽ khuyên, nếu có thể, để theo dõi ID có sẵn trong một mảng, sau đó chọn ngẫu nhiên một ID trong số các ID có sẵn, bằng cách làm một cái gì đó như thế này [nếu danh sách ID được giữ trong bộ nhớ]:11 gold badges82 silver badges110 bronze badges

Bạn có thể làm một cái gì đó tương tự ngay cả khi danh sách ID được lưu trữ trong cơ sở dữ liệu.

$key = random_int[0, 999999];
$key = str_pad[$key, 6, 0, STR_PAD_LEFT];
return $key;

Đã trả lời ngày 28 tháng 3 năm 2011 lúc 20:54

Maxime PacaryMaxime Pacary

function generateKey[$keyLength] {
    // Set a blank variable to store the key in
    $key = "";
    for [$x = 1; $x 

Bài Viết Liên Quan

Chủ Đề