Mục lục bài viết

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_entropy là false 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_entropy là true 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.

Tác giả

HV Lee

500+ bài viết về lập trình, phần cứng, mạng máy tính và công nghệ. Chia sẻ kiến thức từ những gì đã học, đã dạy và đã trải nghiệm — để người học CNTT hiểu sâu hơn và làm được nhiều hơn.

Gợi ý tiếp theo

Cài đặt Python và môi trường lập trình với Visual Studio Code

Học tiếp