Hàm uniqid() trong PHP

1. Chức năng của hàm uniqid()

Hàm uniqid() trong PHP có chức năng tạo ra một chuỗi ký tự duy nhất dựa vào thời gian hiện tại tính theo micro giây. Chuỗi ký tự được tạo ra thường dùng làm định danh duy nhất (unique ID), có thể dùng làm khóa chính trong cơ sở dữ liệu.

2. Cú pháp của hàm uniqid()

uniqid(string $prefix = "", bool $more_entropy = false): string

Trong đó:

  • $prefix: tham số tùy chọn. Chuỗi unique ID được tạo ra được nối thêm chuỗi ký tự $prefix phía trước. Nếu tham số $prefix rỗng và $more_entropyfalse thì chuỗi trả về sẽ có 13 ký tự.
  • $more_entropy: tham số tùy chọn. Mặc định là false. Nếu $more_entropytrue thì chuỗi unique ID trả về sẽ có 23 ký tự, tăng khả năng chuỗi trả về là chuỗi duy nhất.
  • Kiểu trả về là chuỗi ký tự duy nhất theo thời gian.

Lưu ý: Hàm uniqid() trong PHP không đảm bảo 100% sẽ tạo ra chuỗi unique ID duy nhất. Trong trường hợp các tiến trình (process) hoặc tiểu trình (thread) chạy hàm uniqid() cùng lúc thì chuỗi trả về có thể giống nhau (không là duy nhất) nhưng rất hiếm khi xảy ra.

3. Một số ví dụ sử dụng hàm uniqid()

Chạy hàm uniqid() không có $prefix

$id1 = uniqid();//615aceaa9e2ce
$id2 = uniqid();//615aceaa9e2e4
//hoặc
$id1 = uniqid('', false);//615acefd5bc13
//hoặc
$id1 = uniqid('', true);//615acf1d9f5bb2.49697029

Chạy hàm uniqid() có $prefix

$id1 = uniqid('gochocit_');//gochocit_615acf5d3362e
//hoặc
$id1 = uniqid('gochocit_',false);//gochocit_615acf7def0c4
//hoặc
$id1 = uniqid('gochocit_',true);//gochocit_615acf99e4f6d9.00998831

Trong PHP, bạn có thể sử dụng những hàm như random_int(), random_bytes() hoặc openssl_random_pseudo_bytes() để thay cho uniqid(). Những hàm này giúp bạn tạo những mật mã an toàn ngẫu nhiên có tính duy nhất được đảm bảo hơn hàm uniqid() trong PHP.

5/5 - (1 bình chọn)
Chia sẻ trên mạng xã hội:

3 bình luận về bài viết “Hàm uniqid() trong PHP

Để lại một bình luận

Lưu ý:

1) Vui lòng bình luận bằng tiếng Việt có dấu.

2) Khuyến khích sử dụng tên thật và địa chỉ email chính xác.

3) Mọi bình luận trái quy định sẽ bị xóa bỏ.