PHP生成随机ID并创建链接:避免重复,提高效率

原始代码:

<?php
if(empty($_GET['min']) && empty($_GET['max'])){  
exit('请输入生成链接数量');
}
for($i = $_GET['min'];$i <= $_GET['max'];$i++){
    echo "/home/api/updatecachemip?id=" . $i . "&hash=".substr(md5('yg_book_'.$i), 5, 16)."<br>";
}

问题: 该代码会生成连续的ID,在某些情况下可能会导致重复内容。

解决方案:

<?php
if(empty($_GET['min']) && empty($_GET['max'])){  
exit('请输入生成链接数量');
}
$ids = range($_GET['min'], $_GET['max']);
shuffle($ids);
foreach($ids as $id){  
echo "/home/api/updatecachemip?id=" . $id . "&hash=".substr(md5('yg_book_'.$id), 5, 16)."<br>";
}

解释:

  1. range($_GET['min'], $_GET['max']): 获取从$_GET['min']$_GET['max']的连续ID数组。
  2. shuffle($ids): 打乱数组中的ID顺序。
  3. foreach($ids as $id): 遍历打乱后的ID数组,生成链接。

优点:

  • 避免重复: 由于ID被随机打乱,生成的链接不会包含重复内容。
  • 提高效率: 使用shuffle函数打乱数组,比每次生成随机ID更有效率。

注意:

  • 确保$_GET['min']$_GET['max']的数值正确,否则代码可能无法正常执行。
  • 可以根据实际需要调整代码中的链接地址和hash值。

总结:

通过使用shuffle函数打乱ID顺序,可以有效地避免重复内容,并提高链接生成的效率。这对于需要生成大量随机ID并创建链接的应用场景非常有用。

PHP生成随机ID并创建链接:避免重复,提高效率

原文地址: https://www.cveoy.top/t/topic/mZk5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录