php获取随机字符串的方法

本篇文章给大家分享的是有关php获取随机字符串的方法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

创新互联公司长期为上1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为南开企业提供专业的成都网站设计、做网站南开网站改版等技术服务。拥有10余年丰富建站经验和众多成功案例,为您定制开发。

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 = '';
    for($i=0; $i<$len; $i++){
        $str .= $chars[mt_rand(0, $charsLen)];    //随机取出一位
    }
    return $str;
}

2、然后我们调用4次getRandomStr函数并打印即可。

echo getRandomStr(8, false) , '<br>';
echo getRandomStr(8, false) , '<br>';
echo getRandomStr(8, false) , '<br>';
echo getRandomStr(8, false) , '<br>';

效果:(这里我生成了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获取随机字符串的方法
网站地址:https://www.cdcxhl.com/article28/pidhcp.html

成都网站建设公司_创新互联,为您提供自适应网站网站建设定制网站网站排名Google移动网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

绵阳服务器托管