PHP随机字符串函数

我以为这是PHPrand()和chr()PHP函数的巧妙用法,所以就在这里。

function random_string($length = 50) {
    $string = '';
 
    for ($i = 0; $i < $length; ++$i) {
 
        $type = rand(1, 5);
 
        switch ($type) {
            case 1:
                // 小写字母
                $ascii_start = 65;
                $ascii_end = 90;                
                break;
            case 2:
                // 大写字母
                $ascii_start = 97;
                $ascii_end = 122;
                break;        
            case 3:
                // 空间
                $ascii_start = 32;
                $ascii_end = 32;                
                break;   
            case 4:
                // 数字
                $ascii_start = 48;
                $ascii_end = 57;                
                break;
            case 5:
                // 标点
                $ascii_start = 33;
                $ascii_end = 47;
                break;
        }
 
        $string .= chr(rand($ascii_start, $ascii_end));
    }
    return $string;
}

它通过选择要使用的字符类型(例如大写字母,数字等),然后使用该chr()函数随机选择一个字符来工作。该chr()函数将数字作为参数,并将返回与该数字相对应的ascii字符。例如,给定数字65,该chr()函数将返回字符串“ A”。它将遍历此选择过程以构建一个字符串。

这是此函数产生的输出种类的一些示例。

ye 82 C!4p $$r" lg 3 Ed-W KGrX1% 21V V"mENV YzA B 
 1% .AjU  C/7 E7 %3uplK g40-'$ i,j% E+JYh  Ox AU7I
 %q. v$ ,#H5t *d %9Xv59* *oZ3Hj-'G1- 2*7 a+I8Jy& 0
$)V, 7&g6o$3 u27 g"  p6 O* eU"LG Th 9J,&3*  zH)+*e
&5  u$/l)L0 MZ2'H 1MrymE X h3 66 4AW )WT1f  0 zQtF
- CAc2U'QU*1E5 -MfQ $ HMGJ0xg%,J0  q27r s 4oFz!74"
h Dx.h"Cq1ANF0S- S8w!z%hS  x%D8M'O(6a) 3r8H#$#./&i
a .!J (As3a!v&DXK0PIf1$B0JR Pp,KrM (/uUz22gm S% ,-
 *5j$,%0+ VSsz,a0oA7)' s9J$5/ R"iK3cvz GDQn3DC'"lc
6 xK,r2 R/1Y"y46S& s39#US   p*h1+2R8,0yr6 -HYG 'N"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gzxgyzbb

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值