php在数据库随机取函数 php从数组中随机取一个数

PHP怎么随机获取数组里面的值?需要准备的材料分别是:电脑、php编辑器、浏览器 。
1、首先 , 打开php编辑器,新建php文件 , 例如:index.php,并定义一个数组 。
2、在index.php中,输入代码:echo $a[mt_rand(0, count($a) - 1)]; 。
3、浏览器运行index.php页面,此时随机打印出了数组中的值 。
4、浏览器按F5刷新,发现确实是随机的 。
php中怎样从一个数组中随机取一个元素出来呢?用array_rand()函数吧,它可以从一个数组中随机取一个或者多个下标出来,有了下标,就可以从原数组拿到对应的元素了 。它的用法也很简单:array_rand($arr[, $num])$arr == 用来取元素的数组$num == 随机取下标的个数其中第二个参数 $num 是可选的 , 默认为1。注意:它的返回值在第二个参数大于 1 的时候是一个数组;当第二个参数不设或者传值 1 的时候是一个下标 。简单的示例代码如下:1、第二个参数不传值的情况;$arr = Array('a', 'b');$rndKey = array_rand($arr);echo $arr[$rndKey];//输出 a 或者 b2、第二个参数传值大于 1 的情况;$arr = Array('a', 'b', 'c', 'd');$rndKey = array_rand($arr, 2);print_r($rndKey]);//输出一个随机key的数组
用php mysql做一个题库系统 , 随机抽取五百题左右生成考试卷,最有效率的做法是什么?php里面有array_rand函数,你要是一道题一道题的读出来,或许也可以尝试一下 。但是要是一下子都读出来,即便这个函数效率可以的话 , 随机取出id数组,查询 “where id in 数组” 就不如直接在数据库里随机抽取记录 。\x0d\x0a如何从数据表里随机抽取记录呢,想想办法还是有一些,就是不知道效率如何 。有的是说用max_id*rand(),那一条一条抽取还是可以的 。怎么批量随机抽取呢,可以试着排序 , 然后选取前500题,排序可以想办法用一些函数(选取一些执行效率高的),如何md5,sha1,这种 。如果为了使结果更具有随机性,可以把字段值再与一个随机数运算一下 。仅供参考 。\x0d\x0a========================\x0d\x0a我想你还是用array_rand随机抽500个id存到数组,然后遍历数组吧 。这样也避免了题目重复 。在数据库里如果一次一条记录随机抽?。悸桥銮芍馗吹奈侍?。批量选取你就按上面我说的试试 。
请问php mysql中如何从数据表student中随机抽取若干条(例如是五条数据)数据?直接用select * from student order by rand() limit 5不是一个很好的习惯,这个要考虑到数据库的大小问题,比如,数据量为10W以上,这样查询的效率是非常低的 , 资源也消耗挺多!你可以考虑在php与mysql结合来实现,比如:先用mysql 的count()计算出student的总条数$sum_num,赋值到php中的变量中,后在php中更具这个总条数进行生成随机数(这里涉及到你的5条数据是否为连续的5条随机数,还是打乱的随机五条),这里如果生成连续的数据就只需要生成一个小于$sum_num-5的随机数就可以了!根据这个随机数进行limit取出5条就可以;如果这里需要生成打乱的随机数,就需要生成5个不相同的并且小于$sum_num随机数,最后根据这些随机数在数据库中查询,第一种情况用到limit 随机数,5;;第二种情况用到in(随机数1,随机数2,随机数3,随机数4,随机数5);在数据量大的情况下 , 这样的效率和资源消耗的情况下都要比select * from student order by rand() limit 5好得多,当然如果数据量不多的话就用这个也可以!只是给你普及个知识!祝你学习愉快!(这里暂且认为你会用php生成随机数并且这里的php生成的随机数必须为大于0的整型哦,不会的话可以先百度、google,最后可以继续给我留言)!
这里因为你的id会有缺失所以有的方法不适用!就不一一列举了!
如何在数据库中随机取出1条记录?PHP/**
* MySQL 随机取记录
*
* @param $t 表
* @param $c ID列 , 默认为id
* @param $n 取多少个
* @param $w 条件语句
* @param $f bool 是否强制以多维数组形式返回,默认false
* @return array 取1个直接返回结果数组(除非$f为true),取1个返回多维数组,用foreach取出
*/
function rand_row($t , $c = 'id' , $n = '1', $w = '' , $f = false) {
$m=new mysqli(mysqli信息,自行查找php文档);
if (!empty($w)) {
$w = ' AND '.$w;
}
$sql = "SELECT * FROM `{$t}` WHERE {$c} = (SELECT floor(RAND() * (SELECT MAX({$c}) FROM `{$t}`))) {$w} ORDER BY {$c} LIMIT {$n};";
$xq= $m-query($sql);
$r= array();
while ($x = $m-fetch_array($xq)) {
$r[] = $x;
}
【php在数据库随机取函数 php从数组中随机取一个数】if ($f == falsecount($r) == 1) {
return $r[0];
} else {
return $r;
}
}
php中如何在数组中随机抽取n个数据的值在你想从数组中取出一个或多个随机php在数据库随机取函数的单元时相当有用 。它接受
input
作为输入数组和一个可选的参数
num_reqphp在数据库随机取函数,指明了你想取出多少个单元

如果没有指定,默认为
1 。
如果你只取出一个 , array_rand()
返回一个随机单元的键名,否则就返回一个包含随机键名的数组 。这样你就可以随机从数组中取出键名和值 。
主要是用array_rand()方法
关于php在数据库随机取函数和php从数组中随机取一个数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读