首頁 >後端開發 >PHP問題 >php怎麼得到任意四個字串

php怎麼得到任意四個字串

angryTom
angryTom原創
2019-11-01 11:16:383499瀏覽

php怎麼得到任意四個字串

php怎麼得到任何四個字串

1、首先我們寫一個getRandomStr函數,傳入兩個參數,第一個參數為產生字串的長度,第二個參數為是否需要特殊字元。

<?php
/**
 * 获得随机字符串
 * @param $len             需要的长度
 * @param $special        是否需要特殊符号
 * @return string       返回随机字符串
 */
function getRandomStr($len, $special=true){
    $chars = array(
        "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k",
        "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v",
        "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G",
        "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R",
        "S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2",
        "3", "4", "5", "6", "7", "8", "9"
    );
    if($special){
        $chars = array_merge($chars, array(
            "!", "@", "#", "$", "?", "|", "{", "/", ":", ";",
            "%", "^", "&", "*", "(", ")", "-", "_", "[", "]",
            "}", "<", ">", "~", "+", "=", ",", "."
        ));
    }
    $charsLen = count($chars) - 1;
    shuffle($chars);                            //打乱数组顺序
    $str = &#39;&#39;;
    for($i=0; $i<$len; $i++){
        $str .= $chars[mt_rand(0, $charsLen)];    //随机取出一位
    }
    return $str;
}

2、然後我們呼叫4次getRandomStr函數並列印即可。

echo getRandomStr(8, false) , &#39;<br>&#39;;
echo getRandomStr(8, false) , &#39;<br>&#39;;
echo getRandomStr(8, false) , &#39;<br>&#39;;
echo getRandomStr(8, false) , &#39;<br>&#39;;

效果:(這裡我產生了4個8位元字串,並且不包括特殊字元)

GRbgpepX
4thOLZln
hkBoGY1Q
G9DROwtd

3、我們也可以透過一個陣列來保存4次生成的結果。

$arr = array(
    getRandomStr(8, false),
    getRandomStr(8, false),
    getRandomStr(8, false),
    getRandomStr(8, false)
);
var_dump($arr);

結果:

array(4) { [0]=> string(8) "J02AzMyt" [1]=> string(8) "CN4W715t" [2]=> string(8) "ApSfn7rB" [3]=> string(8) "4yn5ivHz" }

並使用下標進行單獨呼叫:

echo $arr[0];

結果:

J02AzMyt

更多PHP相關知識,請造訪PHP中文網

以上是php怎麼得到任意四個字串的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn