一次几次循环PHP数组,而不显示相同的数据

时间:2013-02-04 09:29:29

标签: php jquery arrays

我正在我的网站上创建一些jQuery功能,而一系列Facebook帖子和推文循环显示在首页上。

我的首页上有5个框,我需要5个同时显示来自此数组的随机元素,然后我使用一些jQuery循环功能循环遍历此数组。唯一的问题是,因为我循环遍历此数组5次(每个框)并且此数组中只有20个项目,它可以显示重复的数据。

为了帮助解释这一点,我的代码是:

<?php
  $social_feeds = array_merge($tweets_feed, $facebook_feeds);
  $social_feeds_arranged = $tweets_feed_instance->sortArrayItemsByDate($social_feeds);
?>
<div id="social_box_item1" class="social_box_item">
  <?php foreach($social_feeds_arranged as $item) {  ?>
    <a class="item">
      <?php echo $item['text'] ?>
    </a>
  <?php } ?>
</div>
<div id="social_box_item2" class="social_box_item">
  <?php foreach($social_feeds_arranged as $item) {  ?>
    <a class="item">
      <?php echo $item['text'] ?>
    </a>
  <?php } ?>
</div>
<div id="social_box_item3" class="social_box_item">
  <?php foreach($social_feeds_arranged as $item) {  ?>
    <a class="item">
      <?php echo $item['text'] ?>
    </a>
  <?php } ?>
</div>
<div id="social_box_item4" class="social_box_item">
  <?php foreach($social_feeds_arranged as $item) {  ?>
    <a class="item">
      <?php echo $item['text'] ?>
    </a>
  <?php } ?>
</div>
<div id="social_box_item5" class="social_box_item">
  <?php foreach($social_feeds_arranged as $item) {  ?>
    <a class="item">
      <?php echo $item['text'] ?>
    </a>
  <?php } ?>
</div>

<script type="text/javascript">
  jQuery(document).ready(function() {

    jQuery('#social_box_item1').cycle({

    }); 
    jQuery('#social_box_item2').cycle({

    });
    jQuery('#social_box_item3').cycle({

    }); 
    jQuery('#social_box_item4').cycle({

    }); 
    jQuery('#social_box_item5').cycle({

    }); 

  });
</script>

我需要发生的事情我认为是第一个循环推送它显示在数组后面的项目,所以当第二个循环访问第一个项目时它不会显示相同的数组项目,同样的第3,第4和第5循环。我试图使用array_push和array_shift来做到这一点,但似乎无法让它工作。

是否有人有任何想法或可以帮助指出我哪里出错了?

1 个答案:

答案 0 :(得分:1)

那时不需要那些循环。如果您愿意,可以逐个访问这些数组项。试试这个:

        $social_feeds = array_merge($tweets_feed, $facebook_feeds);
        $social_feeds_arranged = $tweets_feed_instance->sortArrayItemsByDate($social_feeds);

    ?>
    <div id="social_box_item1" class="social_box_item">
        <a class="item">
                <?php echo $social_feeds_arranged[0]['text']; ?>
            </a>
        </div>
    <div id="social_box_item2" class="social_box_item">

            <a class="item">
                <?php echo $social_feeds_arranged[1]['text']; ?>
            </a>                                

    </div>
    <div id="social_box_item3" class="social_box_item">

            <a class="item">
                <?php echo $social_feeds_arranged[2]['text']; ?>
            </a>                                

    </div>
    <div id="social_box_item4" class="social_box_item">

            <a class="item">
                <?php echo $social_feeds_arranged[3]['text']; ?>
            </a>                                

    </div>
    <div id="social_box_item5" class="social_box_item">

            <a class="item">
                <?php echo $social_feeds_arranged[4]['text']; ?>
            </a>                                

    </div>