您好我想在循环中的每个第3个div之后添加内容。这是下面的代码,但我没有得到渲染内容“嗨这是3d div”
它没有检测到每个第3个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';
}
}
?>
---- [Actual Function] ------------------------------------ -----------
<?php
function q_list_item($q_item)
{
$this->output('<DIV CLASS="qa-q-list-item'.rtrim(' '.@$q_item['classes']).'" '.@$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 :(得分:2)
您正在将此函数顶部的$count
重置为0,因此在函数末尾运行if语句时它始终为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';
}
}
?>
答案 1 :(得分: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';
}
}
?>
初始化循环外的$ count,否则count到达if语句时总是为1