php大佬帮忙看一下中不?

75次阅读

共计 943 个字符,预计需要花费 3 分钟才能阅读完成。

已解决,感谢大佬们

网友回复:

注册 参考官方文档 https://www.php.net/manual/zh/function.srand.php

qqwer baidu 是个好东西 /* * array unique_rand(int $min, int $max, int $num) * 生成一定数量的不重复随机数 * $min 和 $max: 指定随机数的范围 * $num: 指定生成数量 */ function unique_rand($min, $max, $num) {// 初始化变量为 0     $count = 0;     // 建一个新数组     $return = array();     while ($count < $num) {// 在一定范围内随机生成一个数放入数组中         $return[] = mt_rand($min, $max);         // 去除数组中的重复值用了“翻翻法”,就是用 array_flip() 把数组的 key 和 value 交换两次。这种做法比用 array_unique() 快得多。$return = array_flip(array_flip($return));         // 将数组的数量存入变量 count 中         $count = count($return);     }     // 为数组赋予新的键名     shuffle($return);     return $return; } 复制代码 另外, 看起来你不考虑效率, 那么可以使用 msql 的 order by rand()

Floppy 因为在每次循环 $randxxx 都会不新值覆盖  导致在模版里 $randxxx 是最后一次循环中的随机数 解决方案 1、在 for 外面定义 $randxxx 数组 每次循环的随机数追加到数组里面  然后在模版里根据下标取值 解决方案 2、$randxxx 的随机数 放到模版里面

kagurazakashira 是不是可以换个思路:1、数据表主键 ID 如果是连续的,先随机 20 个数字,再一次性去数据库里取;2、数据表主键 ID 如果不连续,直接把主键 ID 取出来,随机 20 个数,再获取具体数据。当然,这种方法仅限数据表的数据量不是很大。不过,如果大于 10 万 + 条,limit 效率降低也很大。不过看你写的 5000,那数据量还好

imdong php 是啥?为啥不好好说话,撒皮

正文完
 0