本文實(shí)例講述了php簡(jiǎn)單隨機(jī)字符串生成方法。分享給大家供大家參考,具體如下:
<?php function rand_str($length,$p='all'){ $nums = '0123456789'; $lowers = 'abcdefghijklmnopqrstuvwxyz'; $uppers = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; if ($p == 'all') { $src = $nums.$lowers.$uppers; } else { $src = ''; if (strpos($p, 'num') !== false) $src .= $nums; if (strpos($p, 'lower') !== false) $src .= $lowers; if (strpos($p, 'upper') !== false) $src .= $uppers; } return $src? substr(str_shuffle($src), 0, $length) : $src; } ?>
去網(wǎng)上搜了一下隨機(jī)字符串的php函數(shù), 發(fā)現(xiàn)大部分的實(shí)現(xiàn)都用到了循環(huán)--這有點(diǎn)低效率啊. 在php中, 有各種各樣的函數(shù), 只有你想不到, 沒有他想不到. str_shuffle()函數(shù)可以輕松做到隨機(jī)字符串. 不過呢, 還是封裝一個(gè)吧, 畢竟有的人有只用大寫字母和只用數(shù)字的需求.
函數(shù)的第二個(gè)參數(shù)num, lower, upper可以隨意組合哦.
真正核心的語句只有一行
substr(str_shuffle($src), 0, $length)
作用是將字符串$src亂序并且截取前$length個(gè)字符.
PS:這里再為大家提供一款功能類似的在線工具供大家參考:
在線隨機(jī)數(shù)字/字符串生成工具:
http://tools.jb51.net/aideddesign/suijishu
高強(qiáng)度密碼生成器:
http://tools.jb51.net/password/CreateStrongPassword
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php字符串(string)用法總結(jié)》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計(jì)算法總結(jié)》、《php排序算法總結(jié)》、《PHP常用遍歷算法與技巧總結(jié)》、《PHP數(shù)學(xué)運(yùn)算技巧總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》及《php常見數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。