2013-03-25 57 views
0

爲什麼每次使用以下代碼都不會計數$?在while循環中遞增將導致0

<?php if(get_field('staff_member')) { ?> 
    <div class="row-fluid"> 
     <?php while(has_sub_field('staff_member')) 
     { 
     for($i = 0; $i <= 1; $i++) 
     echo '<div class="span3 mobile_width' . $i . '"> 

    .....etc... 
} 
echo '</div>'; 
} 
?> 

輸出有4項,它們都返回類mobile_width0。

它還輸出每個項目的2。

+1

因爲'$ i'被重置每到'0'取0和1的值被重置爲0,並在這一行時間while()'循環的四次迭代中的哪一個? – nickb 2013-03-25 18:02:24

回答

1

因爲您每次都將其重置爲0。你不需要for循環,這就是爲什麼你有雙重輸出。你可以這樣說:

<?php $i = 0; 
    while(has_sub_field('staff_member')) { 
     echo '<div class="span3 mobile_width' . $i . '">'; 
     $i++; 
    } 
0

嘗試的

for($i = 0; $i < 1; $i++) 

<代替<=

0

您的每一個而cicle迭代,$ifor($i = 0; $i <= 1; $i++)你是說$i正好可以