php簡單隨機字符串生成方法示例
本文實例講述了php簡單隨機字符串生成方法。分享給大家供大家參考,具體如下:
<?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)上搜了一下隨機字符串的php函數(shù), 發(fā)現(xiàn)大部分的實現(xiàn)都用到了循環(huán)--這有點低效率啊. 在php中, 有各種各樣的函數(shù), 只有你想不到, 沒有他想不到. str_shuffle()函數(shù)可以輕松做到隨機字符串. 不過呢, 還是封裝一個吧, 畢竟有的人有只用大寫字母和只用數(shù)字的需求.
函數(shù)的第二個參數(shù)num, lower, upper可以隨意組合哦.
真正核心的語句只有一行
substr(str_shuffle($src), 0, $length)
作用是將字符串$src亂序并且截取前$length個字符.
PS:這里再為大家提供兩款功能類似的在線工具供大家參考:
在線隨機數(shù)字/字符串生成工具:
http://tools.jb51.net/aideddesign/suijishu
高強度密碼生成器:
http://tools.jb51.net/password/CreateStrongPassword
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php字符串(string)用法總結(jié)》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計算法總結(jié)》、《php排序算法總結(jié)》、《PHP常用遍歷算法與技巧總結(jié)》、《PHP數(shù)學(xué)運算技巧總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計有所幫助。
相關(guān)文章
php mb_substr()函數(shù)截取中文字符串應(yīng)用示例
substr()函數(shù)用來截取字符串,但是對于中文字符會出現(xiàn)問題,而mb_substr()和mb_strcut這兩個函數(shù)可以,下面為大家介紹其具體用法2014-07-07PHP中curl三種Post請求數(shù)據(jù)的方式小結(jié)
這篇文章主要給大家介紹了關(guān)于PHP中curl三種Post請求數(shù)據(jù)的方式,在PHP開發(fā)的過程中經(jīng)常需要發(fā)送POST請求,POST相比GET要安全很多,而且傳輸?shù)臄?shù)據(jù)量也較大,需要的朋友可以參考下2023-09-09詳解php 使用Callable Closure強制指定回調(diào)類型
這篇文章主要介紹了詳解php 使用Callable Closure強制指定回調(diào)類型的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下2017-10-10