• 跳至主要導覽
  • 跳至主要內容
  • 跳至主要資訊欄
Office 指南

Office 指南

辦公室工作實用教學

  • Excel
  • Word
  • PowerPoint
  • Windows
  • PowerShell
  • R

PHP 產生隨機亂數字串教學與範例

介紹如何在 PHP 中產生任意長度的隨機字串。


隨機的字串在 PHP 網頁程式中非常有用,常用來當成檔案名稱的後綴,避免檔名重複,或是用來當成認證用的 token。

產生隨機字串

PHP 中沒有專門產生隨機字串的函數,但我們可以自訂一個產生隨機字串的 PHP 函數,方法也很簡單:

# 產生隨機字串的 PHP 函數
function random_string($length = 32, $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ') {
	if (!is_int($length) || $length < 0) {
		return false;
	}
	$characters_length = strlen($characters) - 1;
	$string = '';

	for ($i = 0; $i < $length; $i++) {
		$string .= $characters[mt_rand(0, $characters_length)];
	}
	return $string;
}

若直接呼叫 random_string 不帶任何參數,則會採用預設值,產生長度為 32 的隨機字串:

# 產生長度為 32 的隨機字串
$myRandStr = random_string();

若只有指定長度,則會採用預設的字元集合,產生指定長度的隨機字串:

# 產生長度為 8 的隨機字串
$myRandStr = random_string(8);

我們也可以同時自行指定長度與字元集合,產生特殊格式的隨機字串:

# 產生長度為 8、只包含大寫字母的隨機字串
$myRandStr = random_string(8, "ABCDEFGHIJKLMNOPQRSTUVWXYZ");

參考資料:StackOverflow

分類:PHP

讀者互動方式

發佈留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

主要資訊欄

搜尋

近期文章

  • Linux 檢查、測試 CPU AES-NI 硬體加速加密指令集教學
  • CentOS Linux 7.9 自行編譯、安裝 OpenSSH 9.0p1 伺服器教學與範例
  • Python 使用 zipfile 模組壓縮、解壓縮 ZIP 檔案教學與範例
  • Python 以 LINE Notify 自動傳送即時訊息、圖片教學與範例
  • Linux 使用 Prometheus 與 Grafana 監控伺服器狀態、發送告警 Email 簡訊教學與範例
  • Linux 設定 pam_tty_audit 記錄 SSH 使用者操作指令教學與範例
  • Linux 封鎖、解鎖登入失敗次數過多的帳號 pam_faillock 教學與範例
  • Python 使用 pytube 自動下載 YouTube 影片教學與範例

推薦網站

  • Udemy 線上教學課程
  • Coursera 線上教學課程

關注本站

  • 電子郵件
  • Facebook

公益

  • 家扶基金會
  • 台灣世界展望會
  • Yahoo 奇摩公益
  • igiving 公益網
  • 兒福聯盟

Copyright © 2021 · Office Guide