Php 字符串助手;数组和子数组
我的问题是,我正在使用下面显示的随机字符串生成器,我没有使用“alpha”,我使用的是“fourlet”。唯一的问题是这个在数组中,而那个Php 字符串助手;数组和子数组,php,string,Php,String,我的问题是,我正在使用下面显示的随机字符串生成器,我没有使用“alpha”,我使用的是“fourlet”。唯一的问题是这个在数组中,而那个 substr($pool, mt_rand(0, strlen($pool) -1), 1); 不作为数据数组的随机创建者工作。有人能帮忙吗 下面是帮助器的完整代码 { function random_string($type = 'alnum', $len = 8) { switch($type) { case 'basi
substr($pool, mt_rand(0, strlen($pool) -1), 1);
不作为数据数组的随机创建者工作。有人能帮忙吗
下面是帮助器的完整代码
{
function random_string($type = 'alnum', $len = 8)
{
switch($type)
{
case 'basic' : return mt_rand();
break;
case 'alnum' :
case 'numeric' :
case 'nozero' :
case 'alpha' :
switch ($type)
{
case 'alpha' : $pool = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
break;
case 'fourlet' : $pool = array('my', 'fun', 'zone', '12', '24', '37');
break;
}
$str = '';
for ($i=0; $i < $len; $i++)
{
$str .= substr($pool, mt_rand(0, strlen($pool) -1), 1);
}
return $str;
break;
case 'unique' :
case 'md5' :
return md5(uniqid(mt_rand()));
break;
case 'encrypt' :
case 'sha1' :
$CI =& get_instance();
$CI->load->helper('security');
return do_hash(uniqid(mt_rand(), TRUE), 'sha1');
break;
}
}
}
所以我做了一些改变。希望这对你有帮助
<?php
//$input=arrayNeo、Morpheus、Trinity、Cypher、Tank;
//$rand\u keys=array\u rand$input,2;
//echo$input[$rand_keys[0]]\N
//echo$input[$rand_keys[1]]\n
函数随机_字符串$type='alnum',$len=8
{
开关$type
{
案例“基本”:返回mt_rand;
打破
案例“alnum”:
大小写“数字”:
“零号”案例:
默认值:
switch ($type)
{
case 'alpha' : $pool = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
break;
case 'fourlet' : $pool = array('my', 'fun', 'zone', '12', '24', '37');
break;
}
$str = '';
if(gettype($pool)=='string'){
for ($i=0; $i < $len; $i++){
$str .= substr($pool, mt_rand(0, strlen($pool) -1), 1);
}
}
else if(gettype($pool)=='array'){
$rand_keys = array_rand($pool,4);
$str=$pool[$rand_keys[0]].$pool[$rand_keys[1]].$pool[$rand_keys[2]].$pool[$rand_keys[3]];
}
return $str;
break;
case 'unique' :
case 'md5' :
return md5(uniqid(mt_rand()));
break;
case 'encrypt' :
case 'sha1' :
$CI =& get_instance();
$CI->load->helper('security');
return do_hash(uniqid(mt_rand(), TRUE), 'sha1');
break;
}
}
变量dumprandom字符串'fourlet',8
?>hmmm。遗憾的是,这返回的是一个YOYMOYM字符串,而不是实际的单词:那么您想要实际的单词吗?是的!对不起,应该更清楚。每个数组值“my”、“fun”等都需要保留为一个完整的单词,或者数字需要保留为“12”或“24”,并且不能混合。因此可能出现的结果,例如“zone12my37”或“funmy372”4':它符合你的要求吗?很有魅力!你,罗希特·库马尔·乔杜里先生是一个传奇,应该得到奖励