ForEach döngü: her saniye sonucunda farklı bir şey Çıktı

1 Cevap php

Her döngüler için iki tane var ve ben her saniye sonuç için farklı çıkış şey çalışıyorum:

foreach ($wppost as $wp) {
            $wp_title = $wp->post_title;
            $wp_date = strtotime($wp->post_date);
            $wp_slug = $wp->post_name;
            $wp_id = $wp->ID;
            // Start Permalink Template
            $wp_showurl = $wp_url;
            $wp_showurl = str_replace("%year%", date('Y', $wp_date), $wp_showurl);
            $wp_showurl = str_replace("%monthnum%", date('m', $wp_date), $wp_showurl);
            $wp_showurl = str_replace("%day%", date('d', $wp_date), $wp_showurl);
            $wp_showurl = str_replace("%hour%", date('H', $wp_date), $wp_showurl);
            $wp_showurl = str_replace("%minute%", date('i', $wp_date), $wp_showurl);
            $wp_showurl = str_replace("%second%", date('s', $wp_date), $wp_showurl);
            $wp_showurl = str_replace("%postname%", $wp_slug, $wp_showurl);
            $wp_showurl = str_replace("%post_id%", $wp_id, $wp_showurl);
            // Stop Permalink Template
            $wp_posturl = $blog_address . $wp_showurl;
            echo '<li><a href="'.$wp_posturl.'" title="'.$wp_title.'">'.$wp_title.'</a></li>';          
        }

Bunun için ben her saniye sonucu = "bile" yerine sadece li li sınıfını yankı istiyorum. Ben bu başarılı bu döngü için bir değişti gerekecektir düşünüyorum ama ben onu kırmadan nasıl yapılır emin değilim.

Bunun için aynı kesin:

if(is_array($commenters)) {
       foreach ($commenters as $k) {
         ?><li><?php
          if($ns_options["make_links"] == 1) {
            $url = ns_get_user_url($k->poster_id);
            if(trim($url) != '')
            {
                echo "<a href='" . $url . "'>";
            }
          }
          if($ns_options["make_links"] == 2) {
            $url = ns_get_user_profile($k->poster_id);
            echo "<a href='" . $url . "'>";
          }


          $name = $bbdb->get_var("
       SELECT user_login 
       FROM $bbdb->users
       WHERE ID = $k->poster_id");
         echo ns_substr_ellipse($name, $ns_options["name_limit"]);

          if(trim($url) != '' && $ns_options["make_links"] == 1) {
             echo "</a>";
          }
          if($ns_options["make_links"] == 2) {
            echo "</a>";
          }
          if ($ns_options["show_posts"] == 1)
          {
          echo " (" . $k->num_posts . ")\n";
          }
          echo $ns_options["end_html"] . "\n";
          unset($url);
       }
    } else {
      ?></li><?php
    }

Teşekkürler,

Çamurda yürümek

1 Cevap

Eğer bir "sayma" değişken oluşturmak ve sonra satır bile bir tek veya çift olduğunu eğer sonucunu $count % 2 belirlemek için kullanabileceğiniz:

$rowCount = 0;
foreach ($wppost as $wp) {
  // stripping stuff:
  echo '<li';
  // increase $rowCount - if the remainder of a division by 2 is 1, echo extra class info:
  if ($rowCount++ % 2 == 1 ) echo ' class="even"';
  echo '><a href="'.$wp_posturl.'" title="'.$wp_title.'">'.$wp_title.'</a></li>';          
}


if(is_array($commenters)) {  
   $commentCount = 0;
   foreach ($commenters as $k) {
     ?><li<?php echo ($commentCount++%2==1)?' class="even"':''?>><?php
     //stripped the rest of the loop:
   }
}