如何修改PHP代码实现4个广告随机单条展示?
解决PHP广告随机单条展示的问题
我来帮你搞定这个广告随机展示的需求!先拆解下原代码的问题,再一步步改成4个广告随机单条展示的效果:
原代码的核心问题
原代码里的rand(1,2)只是生成了1-2的随机数,但没有把这个值赋值给$ranVal变量,所以后面的if($ranVal==1)和if($ranVal==2)根本不会触发,等于这个随机逻辑完全没生效。
修改后的完整代码
下面是调整后的代码,已经支持4个广告随机单条展示,我标注了关键改动点:
<?php // 1. 生成1-4的随机数,并赋值给$ranVal变量(原代码缺失这一步) $ranVal = rand(1, 4); // 广告1:原有的Dhiraagu广告 if($ranVal == 1) { ?> <a href="http://www.dhiraagu.com.mv/" target="_blank"> <img style="width:100%; margin:1em 0;" class="load-delay" src="../images/blk_topR.png" data-original="../images/advert/dhir_rt.png" alt="Dhiraagu"/> </a> <?php } // 广告2:原有的muni广告 if($ranVal == 2) { ?> <a href="https://munihomecare.com/" target="_blank"> <img style="width:100%; margin:1em 0;" class="load-delay" src="../images/blk_topR.png" data-original="../images/advert/muni.png" alt="muni" /> </a> <?php } // 广告3:新增的第一个客户广告(请替换成实际的链接、图片路径和alt文本) if($ranVal == 3) { ?> <a href="这里填新客户的链接" target="_blank"> <img style="width:100%; margin:1em 0;" class="load-delay" src="../images/blk_topR.png" data-original="../images/advert/新广告3的图片.png" alt="新广告3的描述" /> </a> <?php } // 广告4:新增的第二个客户广告(请替换成实际的链接、图片路径和alt文本) if($ranVal == 4) { ?> <a href="这里填新客户的链接" target="_blank"> <img style="width:100%; margin:1em 0;" class="load-delay" src="../images/blk_topR.png" data-original="../images/advert/新广告4的图片.png" alt="新广告4的描述" /> </a> <?php } ?>
关键改动说明
- 修复随机数赋值:把
rand(1,2)改成$ranVal = rand(1,4);,这样随机数才会被存储并用于判断展示哪个广告。 - 扩展随机范围:把随机数的范围从1-2改成1-4,对应4个广告位。
- 新增广告分支:添加了
$ranVal == 3和$ranVal == 4的两个分支,你只需要把里面的链接、图片路径和alt文本替换成新客户的内容即可。
额外优化建议
如果你的PHP版本在7.0及以上,推荐用random_int(1,4)代替rand(),因为random_int()是加密安全的随机数生成函数,比rand()的随机性更可靠,代码改成:
$ranVal = random_int(1, 4);
内容的提问来源于stack exchange,提问作者Yooshau
相关产品推荐
相关产品推荐

