我有两个横幅,我在页面上显示,但它们在页面刷新时没有出现相同的时间。我希望他们在每次页面刷新时旋转。现在,banner1可以从10次刷新中显示10次,而banner2甚至不能显示一次。
<?php
$banner1 = '<a href="BANNER1_URL" target="_blank"><img src="BANNER1_IMG_SRC" alt="BANNER1_ALT" title="BANNER1_TITLE"></a>';
$banner2 = '<a href="BANNER2_URL" target="_blank"><img src="BANNER2_IMG_SRC" alt="BANNER2_ALT" title="BANNER2_TITLE"></a>';
$banners = array($banner1, $banner2);
shuffle($banners);
?>
<div id="ban">
<?php print $banners[0] ?>
</div>
我试图举例rand(1,2)
,但页面崩溃了。这就是我试过的
<?php
$banner1 = '<a href="BANNER1_URL" target="_blank"><img src="BANNER1_IMG_SRC" alt="BANNER1_ALT" title="BANNER1_TITLE"></a>';
$banner2 = '<a href="BANNER2_URL" target="_blank"><img src="BANNER2_IMG_SRC" alt="BANNER2_ALT" title="BANNER2_TITLE"></a>';
$banners = array($banner1, $banner2);
$num = rand (1,2);
shuffle($banners);
?>
<div id="ban">
<?php print $num($banners[0]) ?>
</div>
答案 0 :(得分:1)
使用随机获得的数字,您需要从横幅列表中获取该索引;
<?php
$banner1 = '<a href="BANNER1_URL" target="_blank"><img src="BANNER1_IMG_SRC" alt="BANNER1_ALT" title="BANNER1_TITLE"></a>';
$banner2 = '<a href="BANNER2_URL" target="_blank"><img src="BANNER2_IMG_SRC" alt="BANNER2_ALT" title="BANNER2_TITLE"></a>';
$banners = array($banner1, $banner2);
$num = rand (0,1);
?>
<div id="ban">
<?php print $banners[$num] ?>
</div>
同时更改“随机生成器”以获取0或1作为索引并删除shuffle(如评论中MatsLindh所述)
编辑:根据评论中的要求,以下是如何存储在SESSION中显示哪个横幅然后展示另一个横幅的示例。
<?php
$banner1 = ...
$banner2 = ...
$banners = array($banner1, $banner2);
$bannerIndex = 0;
if(isset($_SESSION['bannerIndex'])){
$bannerIndex = (intval($_SESSION['bannerIndex']) + 1) % 2;
}
$_SESSION['bannerIndex'] = $bannerIndex;
?>
<div id="ban">
<?php print $banners[$bannerIndex]; ?>
</div>
这只是为了给你一个想法并且尚未经过测试。