在foreach循环内增量

时间:2015-03-21 21:18:21

标签: php foreach

如何循环并输出数组中的所有值? 我在第一次输出后停止了代码。

$select_top = array($wpdb->get_results($wpdb->prepare( "SELECT * FROM `wp_top_voted` WHERE `todays_date`= CURDATE() ORDER BY `number_votes` DESC LIMIT 10", OBJECT )));

    if ($select_top){
    $i = 1; 
        foreach($select_top as $select_top_one){
        $select_top_one->post_id;
        $post_id_top[$i] = $select_top_one[$i]->post_id;    
            $number_votes[$i] = $select_top_one[$i]->number_votes;
            $size = array(380,220); 
?> 
<div class="top-layout">
  <div class="top-layout-row">
    <div class="top-layout-cell">
      <?php //remove background color. Make box look like widget. 
       ?> 
  <div class="top-layout-cell"> 
    <h4 class="top-video-title">
      <a href="<?php the_permalink(); ?>">
        <?php echo get_the_title( $post_id_top[$i] ); ?>
      </a>
    </h4>
    <a href="<?php the_permalink(); ?>">
      <?php echo get_the_post_thumbnail( $post_id_top[$i], $size ); ?>
    </a>
    <?php $i++; echo $i++; ?>
  </div>
</div>

1 个答案:

答案 0 :(得分:0)

您只需循环显示所有结果并将其打印出来。只要有结果,你就不需要像foreach一样运行循环。这似乎是Wordpress,所以看看get_posts函数https://codex.wordpress.org/Template_Tags/get_posts。这个功能就像你正在尝试做的那样,但你只需要插入你的$ args然后执行你将拥有你的数组并且你可以循环它。