• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php 随机排序广告的实现代码_php技巧

php 搞代码 3年前 (2022-01-26) 18次浏览 已收录 0个评论

投放广告的人都很关注他的广告会放在哪个位置, 因为这可能影响点击次数, 甚至是否在第一屏显示. 就这个问题, 其实很容易解决, 只要随机显示广告即可.

代码如何实现? 在这我推荐两种随机显示广告的处理办法.

在后端处理
在后端排序好再输出页面. 将广告节点用数组存放, 对数组进行随机排序, 再输出经过排序的数组. 参考代码 (PHP) 如下:

 <BR>// 用数组存放广告列表 <BR>$ads = array('' <BR>,'' <BR>,'' <BR>,'' <BR>); <br><br>// 对数组进行随机排序 <BR>shuffle($ads); <br><br>// 输出经过排序的数组 <BR>$html = ''; <BR>foreach ($ads as $ad) { <BR>$html .= $ad; <BR>} <BR>echo $html; <BR>


我们来扩展一下, 如果我是站长, 预留了 4 个广告位, 但现在只有 3 个在投放; 我想在空置的广告位放置一个 “虚位以待” 的广告招租链接, 并显示在最后, 该如何处理呢? 在排序完成之后再插放广告招租链接就可以了.

 <BR>// 用数组存放广告列表 <BR>$ads = array('' <BR>,'' <BR>,'' <BR>); <br><br>// 对数组进行随机排序 <BR>shuffle($ads); <br><br>// 输出经过排序的数组 <BR>$html = ''; <BR>foreach ($ads as $ad) { <BR>$html .= $ad; <BR>} <br><br>// 添加广告招租链接 <BR>$html .= ''; <BR>echo $html; <BR>


我就是用这个方法来输出 125×125 广告的, 因为它直观可靠, 处理方便. 但是如果你希望对页面做静态化, 建议选用 JS 随机排序的方法.

在前端处理
在后端按原有循序输出, 在页面通过 JavaScript 重新排序. 假设页面输出广告区域的 HTML 片段如下.

 <BR><div id="ads"> <BR> <BR> <BR> <BR> <BR>



我们可以通过 JS 来对广告进行重新排序. 参考代码如下:

 <BR><div id="ads"> <BR> <BR> <BR> <BR> <BR>



<script type=”text/javascript”>
//<![CDATA[

var source = document.getElementById(‘ads’);
var target = document.getElementById(‘random-ads’);
var ads = source.getElementsByTagName(‘a’);

// 下标数组
var arr = new Array();
for(var i=0; iarr[i] = i;
}

// 随机排序
function randomSort(a, b){
var tmp = parseInt((Math.random() + 0.5), 10);
return tmp ? a-b : b-a;
}

// 将老的广告区的节点随机插放到本@文来源gao($daima.com搞@代@#码(网5搞gaodaima代码新的广告区
arr.sort(randomSort);
for(var i=0; itarget.appendChild(ads[arr[i]].cloneNode(true));
}

// 显示新的广告区和移除老的广告区
source.parentNode.removeChild(source);
target.style.display = ‘block’;

//]]>
</script>


如果有如同方法 1 那样的扩展需求, 将空广告位显示在最后, 且显示广告招租链接, 该如何处理? 这个当作课后习题吧…


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php 随机排序广告的实现代码_php技巧

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址