• 1
  • 新人请关照

【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)];//就直接报错了,没查出来为什么错

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

阅读 387
评论
    3 个回答
    • 10.1k

    clipboard.png

    var_dump($a[$ran]);

      你应该这样写:

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

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

          撰写回答

          登录后参与交流、获取后续更新提醒