资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

php随机抽出几条数据 php随机抽出几条数据怎么算

想通过PHP实现读取txt文本每次刷新网页随机获取5行数据并输出?

$content = file("test.txt");

南芬ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:028-86922220(备注:SSL证书合作)期待与您的合作!

$randContent = array_rand($content,5);

echo implode("br /",$randContent);

第一行使用file把把整个文件读入一个数组中

第二行使用array_rand在数组中随机取出5个元素

第三行将取出的5个数组中间添加br /标签并打印出来

file

把整个文件读入一个数组中

file ( string $filename , int $flags = 0 , resource $context = ? ) : array

array_rand

从数组中随机取出一个或多个随机键

array_rand ( array $array , int $num = 1 ) : int|string|array

implode

将一个一维数组的值转化为字符串

implode ( string $glue , array $pieces ) : string

如何在数据库中随机取出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;

}

if ($f == false count($r) == 1) {

return $r[0];

} else {

return $r;

}

}

请问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会有缺失所以有的方法不适用!就不一一列举了!

php中如何在数组中随机抽取n个数据的值

array_rand()

在你想从数组中取出一个或多个随机的单元时相当有用。它接受

input

作为输入数组和一个可选的参数

num_req,指明了你想取出多少个单元

如果没有指定,默认为

1。

如果你只取出一个,array_rand()

返回一个随机单元的键名,否则就返回一个包含随机键名的数组。这样你就可以随机从数组中取出键名和值。

主要是用array_rand()方法


名称栏目:php随机抽出几条数据 php随机抽出几条数据怎么算
本文地址:http://www.cdkjz.cn/article/ddcgesp.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220