2012-06-07 3 views
0

Привет Я хочу добавить контент после каждого третьего div в цикле. Ниже приведен код, но я не получаю даже рендеринг контента. «Привет, это 3d div».PHP После каждого NTH в DIV LOOP

Его не обнаруживают каждый третий div.

<?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, но если я что-то не хватает, ваш счет сбрасывается до нуля каждый раз, когда вызывается эта функция. Поскольку вы объявляете счетчик внутри функции. – New2This

ответ

2

вы сброс $count 0 в верхней части этой функции, поэтому он всегда будет 1 при запуске, если заявления в конце функции.

Это может помочь с вашей проблемой, хотя я не могу сказать, находится ли ваш код в классе или нет, поскольку он не похож на него, но вы используете $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 in' –

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, когда он достигнет, если заявление

+0

с ошибкой 'Parse error: ошибка синтаксиса, неожиданный T_VARIABLE, ожидающий T_FUNCTION in' –

Смежные вопросы