ZBlog获取随机文章的效率高的代码
在ZBlogPHP中,想要获取随机文章,很多人会用下面这样的代码:
{php}
$order = array('rand()'=>'');
$where = array(array('=','log_Status','0'));
$array = $zbp->GetArticleList(array('*'),$where,$order,array(10),'');
{/PHP}
{foreach $array as $related}<li><a href="{$related.Url}">{$related.Title}</a></li>{/foreach}
然而这并不是一个好的方法,因为如果你网站的文章数达到一定的数量之后,那么这段代码将直接让你的网站面临崩溃的风险!因为它太占用服务器资源了!这也是为什么zblog官方不建议大家使用随机文章模块的一个原因!
而现在有了一个很好的解决方案,我们直接放弃使用上述中的代码,而采用以下的代码来获取随机文章:
$count = 10; //随机文章数量
$articles = $zbp->GetArticleList('*',null,array(mt_rand(0,1)?'log_ViewNums':'log_POStTime'=>mt_rand(0,1)?'DESC':'ASC'),100);//这里的100是获取的文章是数量,可根据你要获取的随机文章数量来决定这个值的大小
shuffle($articles);
$posts = count($articles) > $count ? array_chunk($articles,$count)[0] : $articles;
foreach ($posts as $post){
echo $post->Title;
}
这段代码的含义就是随机使用文章时间或者文章访问量排序,获取100篇文章,然后打乱再获取。
本文链接:https://www.aiyiliu.com/yuanma/6588.html
版权声明:爱一流源码网声明: 大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有! 若您需要使用非免费的软件、源码或服务,请购买正版授权并合法使用! 本站发布的内容若侵犯到您的权益,请联系站长删除,我们将及时处理! 本站所有资源(一流资源除外)均是收集而来,资源均不提供任何安装服务和技术支持!
发表评论
还没有评论,快来说点什么吧~