Hướng dẫn php uniqid set length

Asked 9 years, 6 months ago

Viewed 14k times

I know the uniqid() method to create lots of unique ids with a length of 7 or more, but what I want to create is a length of 5 unique id with no collision.

Is it possible to create 220.000 unique id's with a length of 5 and check if there is any collision?

Hướng dẫn php uniqid set length

Pang

9,132146 gold badges84 silver badges118 bronze badges

asked Mar 4, 2013 at 9:24

supersizesupersize

12.9k15 gold badges66 silver badges120 bronze badges

14

You can try

for($i = 0; $i < 10 ; $i++)
{
    echo randString(5),PHP_EOL ;
}

Output

7fh96
G93fd
97Q7E
90Wku
7Vby9
4678f
S11oe
67688
19D36
KC1bQ

Simple Collision Test

$hash = array();
$collision = 0;
while ( count($hash) < 220000 ) {
    $r = randString(5);
    if (isset($hash[$r])) {
        $collision ++;
        continue;
    }
    $hash[$r] = 1;
}

print(($collision / 220000)  * 100 . "% - ($collision)");

Tested 100,000 times and always collision is always less that 0.02 which makes the function efficient for a 5 character set

0.011818181818182% - (26)

Function Used

function randString($length) {
    $char = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
    $char = str_shuffle($char);
    for($i = 0, $rand = '', $l = strlen($char) - 1; $i < $length; $i ++) {
        $rand .= $char{mt_rand(0, $l)};
    }
    return $rand;
}

answered Mar 4, 2013 at 9:41

6

Take a look at this article

  • Create short IDs with PHP - Like Youtube or TinyURL

It explains how to generate short unique ids from your bdd ids, like youtube does.

Actually, the function in the article is very related to php function base_convert which converts a number from a base to another (but is only up to base 36).

answered Feb 20, 2014 at 13:39

httpetehttpete

5,5274 gold badges30 silver badges39 bronze badges

I wanted to use uniqid() function for making a string of particular length. Hence I experimented and came up with the following code:


This works fine for me, as long as your site doesn't generate OTPs at a very fast rate, this should work fine!

answered Dec 13, 2017 at 9:33

Neel BhaveNeel Bhave

792 silver badges10 bronze badges

Not the answer you're looking for? Browse other questions tagged php mysql or ask your own question.

Hướng dẫn dùng 16 offset trong PHP

- Hàm fseek() dùng để di chuyển con trỏ đang đọc tập tin từ vị trí hiện tại sang một vị trí mới.- Cú pháp:fseek(file, offset, whence)- Trong đó: Tham sốYêu ...

Hướng dẫn dùng uppercase words trong PHP

Trang chủ Phát triển web PHP Hàm ucwords() trong PHPHướng dẫn cách sử dụng hàm ucwords() trong lập trình PHPNội dung chínhTác dụng của hàm ucwords()More ExamplesBài ...

Hướng dẫn dùng salt hashing trong PHP

Tìm hiểu khi sử dụng các hàm băm tạo dữ liệu lưu trữ passwordKhi lưu trữ password vào CSDL thường sẽ sử dụng các hàm băm khác nhau được hỗ trợ bởi hệ ...

Hướng dẫn get length array php

(PHP 4, PHP 5, PHP 7, PHP 8)count — Counts all elements in an array or in a Countable objectDescriptioncount(Countable|array $value, int $mode = COUNT_NORMAL): intParameters value An array or ...

Hướng dẫn session condition in php

Khái niệm CookieLưu CookieĐọc CookiePHP CookieKhái niệm về Session PHPSử dụng SessionHủy SessionCookie là mẩu tin nhỏ được lưu ở máy người dùng (cụ thể là ...

Hướng dẫn dùng put http trong PHP

Danh sách tất cả các hàm dùng để kiểm soát đầu ra trong PHP- PHP cung cấp một tập hợp các hàm dùng để kierm soát nội dung nào sẽ được gửi đến trình ...

Hướng dẫn dùng myconnect net trong PHP

php connect to mysql là một trong những từ khóa được search nhiều nhất về chủ đề php connect to mysql . Trong bài viết này, lamweb.vn sẽ viết bài viết Hướng ...

Hướng dẫn dùng 8 php trong PHP

Bài viết được sự cho phép của tác giả Lê Chí DũngPHP 8 bổ sung một trình biên dịch JIT vào lõi của PHP có khả năng tăng tốc hiệu suất ...

Hướng dẫn dùng sesions trong PHP

Khái niệm CookieLưu CookieĐọc CookiePHP CookieKhái niệm về Session PHPSử dụng SessionHủy SessionCookie là mẩu tin nhỏ được lưu ở máy người dùng (cụ thể là ...

Hướng dẫn dùng chr] trong PHP

Thông báo trang web đã đổi chủ: Chúng tôi đang sàn lọc nội dung, loại bỏ tất cả những bài viết vi phạm vì bị hack.Hàm chr() trong PHP là để in ra ký ...

Hướng dẫn php extension_dir

Như các bạn đã biết, Server Riêng cũng như vps là một phân vùng riêng độc lập mà mỗi khách hàng có thể tùy ý chỉnh sửa cấu hình, cài đặt ...

Hướng dẫn yum install php oci8

Configuring PHP with OCI8 Review the previous Requirements section before configuring OCI8. Before starting the web server, OCI8 typically requires several Oracle environment variables (see below) ...

Hướng dẫn dùng define overload trong PHP

Xem thêm : Công nghệ web và dịch vụ trực tuyếnOverloading trong PHPNếu bạn chuyển từ Java sang code PHP có lẽ đã quen với việc overloading lại một hàm vì thế ta ...

Hướng dẫn dùng php s trong PHP

Thao tác với chuỗi (String) trong PHP là một kỹ năng cực kỳ quan trọng khi lập trình web với PHP.Nội dung chính2. Một chuỗi là gì? What is a String?2. Ví dụ về ...

Hướng dẫn dùng chown symlink trong PHP

Th8 30, 2022 Nội dung chínhXem thông tin sở hữuChown cho Files – đổi quyền sở hữu của fileChown cho thư mục – đổi ownership của thư mụcChown cho LinksSử dụng ...

Php - preg_replace() root me

PermalinkCannot retrieve contributors at this time This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in ...

Hướng dẫn dùng truthyness trong PHP

Anonymous ¶18 years ago of course this should be clear, but i think it has to be mentioned espacially:AND is not the same like &&for example:is not the ...

Hướng dẫn dùng php liip trong PHP

Bài này sẽ giới thiệu cú pháp (syntax) và các thành phần cơ bản trong PHP. Để học tốt bài này, các bạn cần đọc lại bài Cài đặt môi trường lập trình ...

Hướng dẫn dùng idn trong PHP

Một thao tác rất thường dùng trong quá trình phát triển hệ thống website bằng Php chính là lấy giá trị tham số từ URL, biến toàn cục $_GET sẽ giúp chúng ta ...

Hướng dẫn dùng inharitance trong PHP

Trong bài này, chúng ta sẽ tìm hiểu về tính kế thừa (inheritance) trong PHP. Để học tốt bài này, các bạn cần đọc lại bài Cài đặt môi trường lập trình Web ...

Hướng dẫn preg_match(/php)

Nếu bạn theo dõi serie học Regular Expression từ đầu cho tới giờ thì hàm preg_match() không còn xa lạ gì nữa, nhưng nếu bạn là khách viếng thăm và đây là bài ...

Hướng dẫn điều hướng trong php

Trong việc lập trình web bạn không thể thiếu việc chuyển người dùng từ trang này qua trang kia. Ví dụ như sau khi login thì chuyển người dùng về trang chủ. ...

Socket programming in php example

IntroductionSockets are used for interprocess communication. Interprocess communication is generally based on client-server model. In this case, client-server are the applications that interact with ...

Hướng dẫn dùng rounding down trong PHP

Hướng dẫn dùng date formate trong PHPMình thấy các bạn thường copy hàm date() để dùng nhưng có thể là chưa hiểu rõ về hàm này. Do đó, dẫn đến việc cứ copy ...

Hướng dẫn php trader ma

(PECL trader >= 0.2.0)Nội dung chínhDescriptionReturn Values Key Takeaways What Is a Trading Robot? Algorithmic Trading Strategies Backtesting and Optimization Live Execution The Bottom ...

Hướng dẫn dùng get function trong PHP

Hàm là một khái niệm đặc biệt quan trọng trong PHP (cũng như trong bất kỳ ngôn ngữ lập trình nào).Hàm trong PHP là một nhóm code được đặt tên nhằm thực ...

Hướng dẫn dùng typeof object trong PHP

Vietnamese (Tiếng Việt) translation by Andrea Ho (you can also view the original English article) Nội dung chínhLập trình hướng đối tượng (OOP) là gì?Class trong PHP ...

Hướng dẫn dùng querystring parse trong PHP

Mở đầuNhư bạn đã biết, PHP converts query string (trong URL hoặc body) thành một mảng bên trong $_GET hoặc $_POST.Ví dụ: /?foo=bar sẽ trở thành Array([foo] => bar). ...

Hướng dẫn dùng exemplo trong PHP

Nội dungBiến trong PHPKhai báo biến trong PHPVí dụCác biến trong PHPĐầu ra các biếnVí dụVí dụVí dụPHP là một ngôn ngữ định kiểu lỏng lẻoPhạm vi các ...

Hướng dẫn dùng req.header trong PHP

Trong bài này chúng ta tìm hiểu về hàm header, đây là một hàm được dùng khá nhiều trong lập trình web, ví dụ như dùng để chuyển hướng trang, dùng để ...

Hướng dẫn dùng readline trong PHP

Cú pháp PHP cơ bản tương tự như các ngôn ngữ C, C++, C#, Java, JavaScript. Nếu đã học một trong các ngôn ngữ này bạn có thể nhanh chóng tiếp cận với cú pháp ...

Hướng dẫn dùng m/d format trong PHP

Ngày trong các định dạng m/d/yhoặc d-m-yđịnh dạng được định nghĩa bằng cách nhìn vào dấu phân cách giữa các thành phần khác nhau: nếu dấu phân cách là ...

Hướng dẫn dùng word br trong PHP

Để tạo một tài liệu Word thì hiện tại không có nhiều thư viện PHP để làm tốt công việc này. Trong bài viết này sẽ giới thiệu về thư viện PhpWord để ...

Hướng dẫn http error 500 php

Khi truy cập và trang web bằng máy tính hay điện thoại, thỉnh thoảng bạn sẽ gặp phải lỗi HTTP ERROR 500. Vậy HTTP ERROR 500 là gì và làm thế nào để sửa lỗi ...

Hướng dẫn dùng pi examples trong PHP

botvietbai.com cung cấp các hướng dẫn, tài liệu tham khảo và bài tập trực tuyến miễn phí bằng tất cả các ngôn ngữ chính của web. Bao gồm các chủ đề phổ ...