2012-06-07 53 views
0

您好,我想在循環中的每個第三個div之後添加內容。這裏是下面的代碼,但我沒有得到甚至渲染內容「嗨,這是3d格」PHP在DIV LOOP的每個NTH之後

它沒有檢測到每隔三格。

<?php 
    function q_list_item($q_item) 
    { 
     $count = 0; 

     $this->output('<DIV>'); 
     $this->my_items;  
     $this->output('</DIV>'); 

     $count++;   

     if($count % 3 == 0) { 
      echo 'Hi this is the 3rd div'; 
     } 

    } 
?> 

---- [實際功能] ---------------------------------- -------------

<?php 

function q_list_item($q_item) 
{ 

    $this->output('<DIV CLASS="qa-q-list-item'.rtrim(' '[email protected]$q_item['classes']).'" '[email protected]$q_item['tags'].'>'); 

    $this->q_item_stats($q_item); 
    $this->q_item_main($q_item); 
    $this->q_item_clear(); 

    $this->output('</DIV> <!-- END qa-q-list-item -->', ''); 

} 
?> 
+0

我不是流利的PHP,但除非我失去了一些東西,每次調用這個函數時,你的計數都會被重置爲零。因爲你在函數內聲明瞭count。 – New2This

回答

2

要重設$count 0這個函數的頂部,所以它永遠是1,當你在最後運行if語句的功能。

這可能有助於解決您的問題,但我無法確定您的代碼是否在課堂中,因爲它看起來不像它,但您在那裏使用$this->。從本質上講,移動計數器的實例化的功能之外:

<?php 
    $q_list_count = 0; 

    function q_list_item($q_item) 
    { 
     $q_list_count++; 

     $this->output('<DIV>'); 
     $this->my_items;  
     $this->output('</DIV>'); 

     if($q_list_count % 3 == 0) { 
      echo 'Hi this is the 3rd div'; 
     } 

    } 
?> 
+0

那麼該怎麼辦?你能否詳細學習我 –

+0

@pixelngrain示例添加。 – Fenton

+0

給出錯誤'分析錯誤:語法錯誤,意外的T_VARIABLE,期待T_FUNCTION在' –

0
<?php 
    $count = 0; 
    function q_list_item($q_item) 
    { 
     $this->output('<DIV>'); 
     $this->my_items;  
     $this->output('</DIV>'); 

     $count++;   

     if($count % 3 == 0) { 
      echo 'Hi this is the 3rd div'; 
     } 

    } 
?> 

初始化循環外$計數,計數,否則將永遠是1,當它到達if語句

+0

給出錯誤'解析錯誤:語法錯誤,意外的T_VARIABLE,期待T_FUNCTION' –

相關問題