PHP簡單產生隨機字串自訂方法
/** * 生成随机字符串 * @param string $lenth 长度 * @return string 字符串 */ function get_randomstr($lenth = 6) { return get_random($lenth, '123456789abcdefghijklmnpqrstuvwxyzABCDEFGHIJKLMNPQRSTUVWXYZ'); } /** * 产生随机字符串 * * @param int $length 输出长度 * @param string $chars 可选的 ,默认为 0123456789 * @return string 字符串 */ function get_random($length, $chars = '0123456789') { $hash = ''; $max = strlen($chars) - 1; for($i = 0; $i < $length; $i++) { $hash .= $chars[mt_rand(0, $max)]; } return $hash; }
使用方法:
echo get_randomstr(6); echo get_randomstr(7);
輸出:
vS8wZK hQ17fEI
以上的這兩個結果都會隨機生成,每次運行的結構都會不一樣。
解析:
透過參數傳入產生字串的個數給方法get_randomstr();get_randomstr()方法再透過get_random方法產生隨機數傳回給get_randomstr(),其實這一過程是透過兩個自訂方法來完成的,我個人也覺得比較繁瑣,雖然思路是清晰的。其實這種方法的好處就是當我們在公共方法把get_random方法寫死的時候,如果後面發現有些功能是get_random不能滿足的事情下,我們可以透過get_randomstr方法來擴充。
所以在一般情況下,我更建議大家使用下面的方法去產生隨機字串:
產生PHP隨機數的幾種方法