关于php:我怎么知道for循环的最后一次迭代?

How do I know the last iteration of for loop?

本问题已经有最佳答案,请猛点这里访问。

我的代码中有一个for循环:

1
2
3
4
5
6
$d = count( $v2['field_titles'] );

for( $i=0; $i < $d; $i++ ) {
  $current = 3 + $i;
  echo 'current is' . $current;
}

如果我不知道$d的确切数目,我怎么知道最后一次迭代?

我想做如下的事情:

1
2
3
4
5
6
7
8
9
10
11
12
13
$d = count( $v2['field_titles'] );

for( $i=0; $i < $d; $i++ ) {
  $current = 3 + $i;

  if( this is the last iteration ) {
   echo 'current is ' . $current;
   // add sth special to the output
  }
  else {
    echo 'current is ' . $current;
  }
}


1
2
3
if($i==$d-1){
   //last iteration :)
}

我个人更喜欢while,而不是for。我会这样做:

1
2
3
4
5
6
$array = array('234','1232','234'); //sample array
$i = count($array);
while($i--){
    if($i==0) echo"this is the last iteration";
    echo $array[$i]."";
}

我已经读到这种循环有点快,但还没有亲自验证。在我看来,读/写肯定更容易。

在您的情况下,这将转化为:

1
2
3
4
5
6
7
8
9
10
11
12
13
$d = count( $v2['field_titles'] );

while($d--) {
  $current = 3 + $d;

  if($d==0) {
   echo 'current is ' . $current;
   // add sth special to the output
  }
  else {
    echo 'current is ' . $current;
  }
}