Php 如何在divs中使用foreach进行迭代?

Php 如何在divs中使用foreach进行迭代?,php,codeigniter,Php,Codeigniter,很抱歉,如果问题不清楚,让我解释一下: 我需要做到以下几点: <div> <div>art 1</div> <div>art 2</div> </div> <div> <div>art 3</div> <div>art 4</div> </div> <div> <div>art 5

很抱歉,如果问题不清楚,让我解释一下:

我需要做到以下几点:

<div>
     <div>art 1</div>
     <div>art 2</div>
</div>
<div>
     <div>art 3</div>
     <div>art 4</div>
</div>
<div>
     <div>art 5</div>
     <div>art 6</div>
</div>
etc

第1条
第2条
第3条
第4条
第5条
第6条
等
每个艺术都在一个阵列中。到目前为止,我已经尝试了以下代码:

foreach $articles as $article{

for($i=1; $i<3; $i++){

    if($i==1){
    echo '<div>';
    }

    echo '<div>'.$article->title.'</div>';


    if($i==2){
    echo '</div>';
    }   
}
foreach$articles作为$article{
对于($i=1;$ititle)。”;
如果($i==2){
回声';
}   
}
}

但我得到的不是我想要的结果:

<div>
     <div>art 1</div>
     <div>art 1</div>
</div>
<div>
     <div>art 2</div>
     <div>art 2</div>
</div>
<div>
     <div>art 3</div>
     <div>art 3</div>
</div>
etc

第1条
第1条
第2条
第2条
第3条
第3条
等
我不知道如何每两个div改变数组的值。我没有发现类似的问题,主要是因为我不知道如何搜索它。如果它是重复的,请告诉我一个


感谢您的时间和帮助!

我不知道codeigniter,但在php中应该可以使用

$i = 0; 
echo "<div>"; 
foreach ( $articles as $article ){  
  echo "<div>" . $article->title . "</div>"; 
  if (++$i % 2 === 0 && $i !== count($articles)) echo "</div><div>";       
} 
echo "</div>";
$i=0;
回声“;
foreach($articles作为$article){
回声“$article->title.”;
如果(++$i%2===0&&$i!==count($articles))echo“”;
} 
回声“;

我不知道codeigniter,但在php中应该可以使用

$i = 0; 
echo "<div>"; 
foreach ( $articles as $article ){  
  echo "<div>" . $article->title . "</div>"; 
  if (++$i % 2 === 0 && $i !== count($articles)) echo "</div><div>";       
} 
echo "</div>";
$i=0;
回声“;
foreach($articles作为$article){
回声“$article->title.”;
如果(++$i%2===0&&$i!==count($articles))echo“”;
} 
回声“;

您需要的是一个模。模除以数字并返回余数。它非常适合确定您在计数中的位置。模的字符是%

$counter = 1;
foreach($articles as $article) {
    if($counter % 2 == 1) echo '<div>';
    echo '<div>'.$article->title.'</div>';
    if($counter % 2 == 0) echo '</div>';
    $counter++;
}
if($counter % 2 == 0) echo '</div>';
$counter=1;
foreach($articles作为$article){
如果($counter%2==1)回显“”;
回显“.$article->title.”;
如果($counter%2==0)回显“”;
$counter++;
}
如果($counter%2==0)回显“”;
下面是数学原理 第一个循环,计数器是1。模只和余数有关,所以它只除以整数。所以1/2返回0,余数为1。 第二个循环计数器是2。因此2/2返回1,余数为0

这是一个模为3的相同循环
1%3=1/3=0剩余1
2%3=2/3=0余数2
3%3=3/3=1剩余0


我希望这对你有所帮助。

你需要的是一个模。模除以数字并返回余数。它非常适合确定你在计数中的位置。模的字符是%

$counter = 1;
foreach($articles as $article) {
    if($counter % 2 == 1) echo '<div>';
    echo '<div>'.$article->title.'</div>';
    if($counter % 2 == 0) echo '</div>';
    $counter++;
}
if($counter % 2 == 0) echo '</div>';
$counter=1;
foreach($articles作为$article){
如果($counter%2==1)回显“”;
回显“.$article->title.”;
如果($counter%2==0)回显“”;
$counter++;
}
如果($counter%2==0)回显“”;
下面是数学原理 第一个循环,计数器是1。模只和余数有关,所以它只除以整数。所以1/2返回0,余数为1。 第二个循环计数器是2。因此2/2返回1,余数为0

这是一个模为3的相同循环
1%3=1/3=0剩余1
2%3=2/3=0余数2
3%3=3/3=1剩余0

我希望这有助于

尝试:

foreach( $articles as $key => $article ){
$key++;
if( $key % 2 == 0  ){
    echo '<div>'.$article->title.'</div>';
    echo '</div><div>';
}else{
    echo '<div>'.$each['title'].'</div>';
}
}
foreach($articles as$key=>$article){
$key++;
如果($key%2==0){
回显“.$article->title.”;
回声';
}否则{
回显“.$each['title']”;
}
}
试试:

foreach($articles as$key=>$article){
$key++;
如果($key%2==0){
回显“.$article->title.”;
回声';
}否则{
回显“.$each['title']”;
}
}


您发布了错误的代码,这些代码有语法错误。如果没有$,我如何进行迭代。很抱歉,这是一个输入错误,在我的真实代码中,它有$for循环,您的foreach每次迭代都会运行两次。您可能要做的是删除for循环,并用一个简单的计数器替换它-如果计数器是偶数,请添加一个初始值
;如果是奇怪的,请添加一个尾随
您发布了错误的代码,这些代码有语法错误。我如何在没有$的情况下进行迭代。很抱歉,这是一个输入错误,在我的实际代码中,它有$for循环,并且在foreach的每次迭代中运行两次。您可能需要做的是删除for循环,并用一个简单的计数器替换它-如果计数er是偶数,添加首字母
;如果是奇数,则添加尾随字母
。这一个有效!非常感谢!:)唯一的问题是,如果文章数量不均匀,则外部div保持打开状态。有没有办法修复它?它是除以2($counter%2)。只要把它改为除以3(或者你需要多少行),它就会在适当的时间绘制。哦,我可以做一个if,如果返回的行数不均匀,它应该除以3,如果是偶数,它应该除以2?代码将在奇数个元素上失败,因为最后一个
不会关闭@Machavity您能解释一下为什么$counter%2==1会写入第一个div吗?当我开始时,$计数器是1,所以1%2是0.5,对吗?这个有效!非常感谢!:)唯一的问题是,如果文章数量不均衡,外部div将保持打开状态。有没有办法修复它?它是除以2($counter%2)。只要把它改为除以3(或者你需要多少行),它就会在适当的时间绘制。哦,我可以做一个if,如果返回的行数不均匀,它应该除以3,如果是偶数,它应该除以2?代码将在奇数个元素上失败,因为最后一个
不会关闭@Machavity您能解释一下为什么$counter%2==1会写入第一个div吗?当我开始$计数器是1,所以1%的2是0.5正确的?考虑扩展你的答案来解释askk为什么这达到了预期的结果,可能链接到文档。事实上,这只是微不足道的。考虑扩展你的答案来解释Askk,为什么它达到了预期的结果,可能链接到文档。实际上,这只是略微有用。当计数为偶数时,代码仍然生成并清空
-元素。当计数为偶数时,代码仍然生成并清空
-元素。