旋转两个横幅50/50

时间:2014-12-04 08:23:03

标签: php

我有两个横幅,我在页面上显示,但它们在页面刷新时没有出现相同的时间。我希望他们在每次页面刷新时旋转。现在,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>

1 个答案:

答案 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>

这只是为了给你一个想法并且尚未经过测试。