私の問題は、以下に示すランダム文字列クリエーターを使用していることです。「alpha」を使用しておらず、「fourlet」を使用しています。唯一の問題は、これが配列内にあり、それが
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;
}
}
}
そう