2017-04-22 168 views
0
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 
    } 

在我这里代码内的元件,我无法关闭我的元件在所有的,在所有的末端之上的元素组合在彼此内部和所述元件在所有的结束时关闭它,我该如何解决这个问题?我试图去结束while循环

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> 
+1

请解释你正在努力完成的事情。 – FirstOne

+0

@FirstOne现在编辑了这个问题。 –

+0

'$ x = $ y;'然后,'if($ x!= $ y)'后面2行,这个'if'永远不会执行。 –

回答

0

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

你有

$x = $y;

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

这是逻辑错误。

不管是什么,我没有看到在分配点。删除它,你会得到你想要的标签div

+0

我想建立在我以前的问题的答案在这里http:// stackoverflow。com/a/43507106/7490349 我想要一种方法来关闭我开始的div,甚至重构整个代码来关闭它的div。 –

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

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

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

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

我不完全确定你想要完成什么,但删除while循环中的第二个<div>标记。 如果你想要的一切是在一个DIV那么while循环之前打开一个div和循环后关闭它

echo "<div>"; 
while(fetching) 
{ 
    if($x != $y) 
    { 
    echo "<div> Something </div>"; 
    } 
} 
echo "</div>"; 
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 Else”元素的开放标签。

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

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