结束while循环中的元素

时间:2017-04-22 13:38:16

标签: php

while(fetching){
    if($x != $y){
        echo "<div> Something </div>
                  <div>";
    }
    $x = $y;
    echo "<div> Something Else </div>";

    if($x != $y) {echo "</div>";} //The Problem Here
    }

在我的代码中,我根本无法关闭我的元素,结尾上方的所有元素都在彼此内部组合,元素在所有元素的末尾都被关闭,我该如何解决?我试着去

    if($x != $y){
        echo "<div> Something </div>
                  <div>}
    $x = $y;
    echo "<div> Something Else </div>";
    }
    if($x != $y) {</div>";}

但也没有用。

我想要完成的是

<div> Something </div>
   <div>
       <div> Something Else </div>
       <div> Something Else </div>
   </div>
<div> Something </div>
   <div>
       <div> Something Else </div>
       <div> Something Else </div>
   </div>

总是会发生什么

<div> Something </div>
   <div>
       <div> Something Else </div>
       <div> Something Else </div>
   <div> Something </div>
   <div>
       <div> Something Else </div>
       <div> Something Else </div>
   </div>
   </div>

3 个答案:

答案 0 :(得分:0)

虽然$x == $y代码正好在下面:if($x != $y) {</div>";}永远不会运行。

你有

$x = $y;

意思是,总是忽略关闭</div>,必须在if($x != $y) {..}的条件语句中运行。

这是逻辑错误。

无论是什么,我都没有看到该任务的重点。删除它,您将获得所需的结束div标记。

答案 1 :(得分:0)

$x = $y;
    echo "<div> Something Else </div>";

    if($x != $y) {echo "</div>;} //The Problem Here

首先,if语句永远不会运行,因为您已将$x分配给$y

此外,在您的第一个if语句中,您有一个迷路<div>标记。

我不确定您尝试完成的操作,但删除了while循环中的第二个<div>标记。 如果你想要一切都在一个div中,那么在while循环之前打开一个div并在循环之后关闭它

echo "<div>";
while(fetching)
{
  if($x != $y)
  {
    echo "<div> Something </div>";
  }
}
echo "</div>";

答案 2 :(得分:0)

我想你想要这样的东西

$idx = 0;
while(fetching){
    if($idx % 3 == 0 && $idx != 0){
        echo "</div>";
    }

    if($idx % 3 == 0){
        echo "<div> Something </div>";
        echo "<div>";
    } else {
        echo "<div> Something Else </div>";
    }

    $idx++;
}

此代码每隔第1,第4,第7 ......第n次迭代打印'Something'标记,包括'Something Else'元素的开放标记。

在第4次,第7次......第n次迭代时,将打印结束标记。

在所有其他迭代中,打印“其他东西”。