我今天正在测试一个字符串操作函数(我将在其他时间发布),我想创建一个可以输入的随机字符串,因此我想出了下面的函数。我以为这是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"