2013-11-14 34 views
0

我有一些系列的循環在我的PHP爲例停止循環(break和continue不是爲我工作)

// select語句

while (gyu_fetch($acaYear_results)) { 
$Year = gyu_get_col($Year_results,0); 
      $page->main .= '<option value="'.$Year.'"'; 
      if ($Year!="" and $Year==$Year) { $page->main .= ' selected="selected"'; } 
      $page->main .= '>'.$Year.'</option>'; 

     } 

//選擇statment

while(gyu_fetch($domain_results)) { 
        $row = gyu_get_col($results,0); 
    $page->main .= '<option value="'.$row.'">'.$row.'</option>';    
      } 


    if ($tui_domain != $tui_domain_old and $tui_domain_old != 'REiOl7') 
     { 
     $page->main .= '<tr><td colspan="4" style="background-color:#DDDDDD;">&nbsp;</td></tr>'; 
     } 

在我所有的while循環和foreach循環中,我已經使用了break;continue;,但是當我在select語句中使用它們中的每一個時。 發生什麼是我的網頁將不會完全呈現,因爲它只會影響其他if語句。

我想知道他們是否有其他方法來阻止whileif語句從沒有循環一遍又一遍,但不影響可能在使用它,例如

while(gyu_fetch($domain_results)) { 
         $row = gyu_get_col($results,0); 
     break;   
       } 
$page->main .='"'.$row.'"'; 

頁面的任何元素例如,雖然我已經結束執行當前的while結構,這會影響'"'.$row.'"'被使用嗎?

謝謝你的時間。

+0

沒有,也不會影響''「 $行。「」」'被使用,因爲你破壞了'while'循環,有沒有與你的該循環後的代碼。 –

+0

'......完全呈現,因爲它只會有其他if語句。「 - 你是什麼意思? –

+0

@AmalMurali對不起''影響'''' – PHPnoob

回答

0

您不能在while循環外面使用$row,因爲它是在循環內部聲明的,因此它是局部的。嘗試在循環之前初始化它($row='';)。

更多關於variable scope in PHP

+0

'在循環之前初始化?那麼如果它是'while while {if($ t =='oop'){} echo'next line'; if($ h =='33'){echo'hello';} if {echo'bye';} else {echo'hi'} break;}'。這是我的代碼中的一個標準示例,關於'while'循環如何具有if和else語句。正如你正常它「回聲」字符串,但在我的代碼中的HTML表格。在'while'結束之前我有一個'break',並且在此之前它會停止從while呈現的while循環之外的if語句...任何想法爲什麼。 – PHPnoob