【thinkphp5】如何随机获取数组里面的值?

我做一个数据库的操作。从A表B表中联合筛选出了一组数据,用column()搞成了数组$a,然后~~~~ 就是问题所在...

想从$a中随机搞出一个元素来,取这个元素的值。

用过
方法一:
//假设int[10]=1000,int[3]=333
$ran=array_rand($a,1);
dump($ran); //这里每次可以获得不同的数组元素,ep:int[10]、int[3]...不能获取到对应的1000或者333
$ran_num=array_values($ran);//这里就开始报错,查了下是获取连串值用的

方法二:
$ran=$a[mt_rand(0,count($a)-1)];//就直接报错了,没查出来为什么错

数组不是很熟悉,求大佬们指点!

阅读 2.8k
3 个回答

clipboard.png

var_dump($a[$ran]);

你应该这样写:

$a = [2 => 1000,3=>333];
$ran = array_rand($a);
var_dump($a[$ran]);

读取数据时就能生成随机列,然后 order by 随机列就能达到随机数据的效果了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题