我的index.php文件中有以下代码
<?php
$name = $_GET['name'];
$id = rand(0,100); // i need a unique id from the name than random
?>
我想要做的是,当有人提供他们的名字时,应该显示0到100之间的唯一数字ID。刷新页面后不应更改。
例如, 如果用户提供名称“John”,则id应为“99”(或任何其他不会更改的数字) 如果用户提供名称“david”,则id应为“5”(或任何其他不会更改的数字)
我尝试使用md5,但它产生了更多的数字,我无法使用它,因为我是PHP的新手。
抱歉我的英语不好。
答案 0 :(得分:0)
rand()函数只为您提供随机数,但它永远不会为您提供任何单词的唯一编号。最好的解决方案是使用md5将你的名字转换成哈希值 始终是唯一的字符串。如果您需要有关md5的帮助,请告诉我。
答案 1 :(得分:0)
在数组中创建一个数字数组,然后我们将其洗牌。获取混洗数组的元素。
function generateRandomNumberInRange($min, $max, $quantity) {
$randomNumberArray = range($min, $max);
shuffle($randomNumberArray);
return array_slice($randomNumberArray, 0, $quantity);
}
echo "<pre>";
$numbersArray = generateRandomNumberInRange(0, 100, 101);
print_r($numbersArray);
echo "</pre>"
for ($i = 0; $i <= 100; $i++) {
echo $numbersArray[$i] . "<br/>";
}
然后将名称分配给唯一和随机数。