2017-04-22 288 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次迭代結束標記被打印。

在所有其他迭代中打印「別的東西」。