1
我的问题是,我使用下面示出的随机串的创建者,我不使用“阿尔法”,我使用“fourlet”。唯一的问题是,这是在一个阵列和字符串助手;阵列和SUBSTR
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;
}
}
}
所以
嗯。可悲的是,这是在返回的“yoymoeym”的字符串,而不是实际的话:( – user1530901 2012-07-17 08:11:43
所以,你要实际的话? – 2012-07-17 08:24:36
是请!对不起,应该更清楚。每个数组值“我”,“好玩”等需要保持整个单词或数量需要保持为“12”或“24”,不能混用。因此,可能的结果,如“zone12my37”或“funmy3724”。:) – user1530901 2012-07-17 08:30:39