php:如何在数组中添加奇数/偶数循环

Jim*_*Jim 8 php

这是我的代码:http://www.pcgage.net/code.zip(对不起,粘贴代码导致它真的搞砸了,甚至使用代码容器).

滚动到第160行(至174) - 这是有问题的循环.我想这样做,这是偶数部分,然后是一些代码,使得奇怪的部分,所以循环按此顺序重复.原因是我想交替改变这个循环的内容.

我不是一个程序员,所以你能做的最好的事情是发布新代码,我会把它添加到你告诉我的地方,否则我会迷路:)

希望这是有道理的,如果不是你可以检查一下这个问题的早期帖子,解释了为什么我需要这个(在发现css单独无法解决我的问题之后):css/php:如何解决这个div浮点问题/奇数偶数循环在数组中

这是循环:

} elseif ( ( $findpost->ID ) != $id ) {

// all other posts except the current post

                    $serp_list_li[] = '<div class="serial-contain">

<div class=""><h5><a href="' . get_permalink($findpost->ID) . '" title="' . $findpost->post_title . '">' .  $findpost->post_title . '</a></h5></div>

<div class="text-align">' .  $findpost->post_excerpt . ' </div>

<div class="date"> ' . mysql2date('M jS, Y', $findpost->post_date) . ' at ' . mysql2date('g:ia', $findpost->post_date) . '</div>


<div class="comments"><a href="' . get_permalink($findpost->ID) . '#comments" title="' . $findpost->post_title . '"><b>' .  $findpost->comment_count . ' Comments</b></a></div>


</div>' . "\n";
                } 



else {              
Run Code Online (Sandbox Code Playgroud)

ras*_*spi 37

这三种方式

for ($i = 0; $i < 10; $i++)
{
  if ($i % 2 == 0)
  {
    echo "even";
  }
  else
  {
    echo "odd";
  }
}
Run Code Online (Sandbox Code Playgroud)

翻转布尔值

$even = true;
for ($i = 0; $i < 10; $i++)
{
  if ($even)
  {
    echo "even";
  }
  else
  {
    echo "odd";
  }

  $even = !$even;
}
Run Code Online (Sandbox Code Playgroud)

并提到了布尔运算符

for ($i = 0; $i < 10; $i++)
{
  if ($i & 1 == 0)
  {
    echo "even";
  }
  else
  {
    echo "odd";
  }
}
Run Code Online (Sandbox Code Playgroud)

最快的是布尔运算符.但最强大的是翻转方法,如果你有非常不同的数字(比如运行身份证号码,而有些人丢失了).


scr*_*gar 8

我没有查看代码,但如果它使用变量来计算循环数,你可以这样做:

 for($i=0;$i<$blah;$i++)
   if($i&1){
     // ODD
   }else{
     // EVEN
   }
Run Code Online (Sandbox Code Playgroud)

编辑(1):我看了你正在遇到的部分,现在我有另一个问题,我不确定你是如何评判什么应该是奇怪的,所以我提出两个答案:

1:奇数循环迭代:

   /* Populate the post list array */
// Add here:
   $oddLoop = false;
   foreach ($findposts as $findpost):
//.....
if($oddLoop=!$oddLoop){
  // code for odd loop numbers
}else{
  // code for even loop numbers
}
Run Code Online (Sandbox Code Playgroud)

2:奇数ID号码:

 } elseif ( ( $findpost->ID ) != $id ) {
    if($findpost->ID & 1){
       // ODD
    }else{
       //EVEN
    }
Run Code Online (Sandbox Code Playgroud)


Mo *_*ami 6

在循环中使用条件:

$class = 'odd';  
for(.........) # no problem what kind of loop you are using(for,foreach,while,do)
{
   $class = ($class == 'even' ? 'odd' : 'even');
   #some code 
}
Run Code Online (Sandbox Code Playgroud)