memo

memo dayo.

指定した長さのランダム文字列を取得する


function make_rand ($int_length) {
$master = array(
'0','1','2','3','4','5','6','7','8','9'
,'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'
,'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'
);

$str_return = '';

$rand_keys = array_rand($master, $int_length);
for ($i=0; $i<$int_length; $i++) {
$str_return .= $master[$rand_keys[$i]];
}
unset($rand_keys);
unset($master);

return $str_return;
}


■修正

function make_rand ($int_length) {
$master = array(
 '0','1','2','3','4','5','6','7','8','9'
,'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'
,'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'
);

$str_tmp = '';

/*
// 詳しい事はよく分からないけど、900回位続けると、同じ結果が出始める。
// 旧Ver.
$rand_keys = array_rand($master, $int_length);
for ($i=0; $i<$int_length; $i++) {
$str_tmp .= $master[$rand_keys[$i]];
}
unset($rand_keys);
*/
// 新Ver.
while (strlen($str_tmp) < $int_length) {
sort($master);
$int_key = mt_rand(0, count($master)-1);
$str_tmp .= $master[$int_key];
unset($master[$int_key]);
unset($int_key);
}

unset($master);
return $str_tmp;
}