2011-02-28 115 views
1

我今天一直在檢查一些PHP代碼,並且注意到do-while的用法,而不是if-else。它的優點是什麼?代碼可讀性?速度?還要別的嗎?Do-while而不是if-else

+4

你能舉一個例子嗎? While/Do-While和if/else服務器的用途完全不同 – 2011-02-28 20:32:09

回答

2

do/while循環保證do/while的主體至少執行一次,之後檢查循環條件。

另一方面,if保證如果條件失敗,代碼將不會執行。

從內部來看,除了檢查循環條件的點之外,它們沒有區別。

+0

是的,這是唯一的優點。除此之外,「一般」本身就是造成頭痛的重要原因...... – 2011-02-28 20:36:56

0

如果/其他更適合用於與不需要的一個或多個邏輯條件檢查循環或遞歸 -

做/而更適合用於遍歷數據或數據的組,直到所期望的結果達到。

如果您打算使用break語句,則取決於您是否需要遞歸執行操作 - 否則,如果/ else可能更適合。

10

我假設你的意思是這樣的:

do { 
    ... 
    if ($foo == $bar) break; 
    ... 
} while (false); 

它只是跳過一段代碼,而不正常的嵌套if語句將涉及的一種方式。 break語句用作goto語句,用於while循環的結尾。整個片段被封裝在do-while-false循環中,以便它被執行一次並允許break語句。