PHP生成随机ID并创建链接:避免重复,提高效率
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>";
}
解释:
range($_GET['min'], $_GET['max']): 获取从$_GET['min']到$_GET['max']的连续ID数组。shuffle($ids): 打乱数组中的ID顺序。foreach($ids as $id): 遍历打乱后的ID数组,生成链接。
优点:
- 避免重复: 由于ID被随机打乱,生成的链接不会包含重复内容。
- 提高效率: 使用
shuffle函数打乱数组,比每次生成随机ID更有效率。
注意:
- 确保
$_GET['min']和$_GET['max']的数值正确,否则代码可能无法正常执行。 - 可以根据实际需要调整代码中的链接地址和
hash值。
总结:
通过使用shuffle函数打乱ID顺序,可以有效地避免重复内容,并提高链接生成的效率。这对于需要生成大量随机ID并创建链接的应用场景非常有用。
原文地址: https://www.cveoy.top/t/topic/mZk5 著作权归作者所有。请勿转载和采集!