PHP內置函數研究系列第七期,採用PHP函數uniqid生成一個唯一的ID,主要討論uniqid()函數的作用和用法。
生成唯一ID的應用場景非常普遍,如臨時緩存文件名稱,臨時變量,臨時安全碼等,uniqid()函數基於以微秒計的當前時間,生成一個唯一的 ID。由於生成唯一ID與微秒時間關聯,因此ID的唯一性非常可靠。生成的唯一ID默認返回的字符串有 13 個字符串長,如果不定義唯一ID的前綴,最多可返回23個字符串長,如果再結合md5()函數,生成的唯一ID可靠性將更高,這種生成的ID比隨機性的ID 最大優點在於可實現排序,特別是一些需要存儲在數據庫中的值。
一,函數原型
string uniqid ( [string prefix [, bool more_entropy]] )
可定義唯一ID的前綴與長度
二,版本兼容
PHP 3, PHP 4, PHP 5
三,函數基礎用法與實例
1,生成一個唯一ID
<?php
echo uniqid();
?>
輸出:4bfd0d472e3c4
2,結合md5()函數生成一個唯一ID
<?php
echo md5(uniqid());
?>
輸出:dfbc5c8c6438de075da28b3c8a413fd0
3,生成多個唯一ID,由於是以微秒計
<?php
echo uniqid();
echo uniqid();
echo uniqid();
?>
輸出:
4bfd0e375396b
4bfd0e3753981
4bfd0e3753983
由生成的結果來看,唯一ID之間具有可排序性的
使用uniqid()函數生成唯一ID既能用於生成臨時性ID也能用於生成永久性唯一ID(存儲數據庫),具體請參與PHP手冊,請關注下一期PHP內置函數研究系列。