Я пытаюсь создать случайное число из строкового семени, это то, что я пробовал:случайное число из текста семени
<?
function rand_n($text)
{
return fmod(hexdec(md5($text)), 1000) + 1000;
}
for($i=0; $i<=250; $i++) {
$n = rand_n("test$i");
$a[] = $n;
echo $n . "\n";
}
echo "Total: " . count($a) . "\n";
$a = array_unique($a);
echo "Unique: " . count($a) . "\n";
Это своего рода работает, но это дает мне много дублей. Я пробовал другие методы, но они дали мне огромные числа, и я хочу сохранить его до 4 или 5 результатов. Я знаю, что с 5 буквами можно генерировать более уникальные, чем с 5 номерами, но мои записи похожи на test0 ... 250, они не настолько случайны.
Как я могу сделать этот генератор случайных чисел возвращать уникальные значения в зависимости от семени строки и сохранить длину результата в 4 или 5?
Звучит для меня так, как будто вы вообще не хотите случайных чисел ... вы хотите хеш-функцию для строк, которая производит небольшое целое число. Я бы использовал что-то вроде FNV. –