<code>#</code><code>break</code><code>跳出多層循環</code>
<code>$a</code> <code>= 0;</code>
<code>while</code> <code>(true) {</code>
<code>$a</code><code>++;</code>
<code>switch</code> <code>(</code><code>$a</code><code>) {</code>
<code>case</code> <code>1:</code>
<code>echo</code> <code>'1'</code><code>;</code>
<code>break</code><code>;</code>
<code>case</code> <code>2:</code>
<code>echo</code> <code>'2'</code><code>;</code>
<code>default</code><code>:</code>
<code>echo</code> <code>'in'</code><code>;</code>
<code>break</code> <code>2;</code>
<code>}</code>
<code>echo</code> <code>'out'</code><code>;</code>
輸出:1 2 in out
說明:
break除了可以在switch裡面用,還可以從for、while等循環語句中跳出;
break+數字可以支援多重循環的跳出。
<code>#</code><code>continue</code><code>跳出多重循環</code>
<code>$i</code> <code>= 0;</code>
<code>while</code> <code>(</code><code>$i</code><code>++ < 5) {</code>
<code> </code><code>echo</code> <code>"Outer<br />\n"</code><code>;</code>
<code> </code><code>while</code> <code>(1) {</code>
<code> </code><code>echo</code> <code>"Middle<br />\n"</code><code>;</code>
<code> </code><code>while</code> <code>(1) {</code>
<code> </code><code>echo</code> <code>"Inner<br />\n"</code><code>;</code>
<code> </code><code>continue</code> <code>3;</code>
<code> </code><code>}</code>
<code> </code><code>echo</code> <code>"This never gets output.<br />\n"</code><code>;</code>
<code> </code><code>}</code>
<code> </code><code>echo</code> <code>"Neither does this.<br />\n"</code><code>;</code>
輸出:
Outer
Middle
Inner
……
輸出5遍
continue可以跳出多重循環
continue語句作用到 switch 上的作用類似于 break
<code>#</code><code>switch</code><code>語句</code>
<code>switch</code> <code>(</code><code>$i</code><code>) {</code>
<code> </code><code>case</code> <code>0:</code>
<code> </code><code>case</code> <code>1:</code>
<code> </code><code>case</code> <code>2:</code>
<code> </code><code>echo</code> <code>"i的值為0或1或2"</code><code>;</code>
<code> </code><code>break</code><code>;</code>
<code> </code><code>default</code><code>:</code>
<code> </code><code>echo</code> <code>"i的值不為0或1或2"</code><code>;</code>
輸出:i的值為0或1或2
switch中在一個 case 中的語句可以為空,這樣隻不過将控制轉移到了下一個 case 中的語句
<code>declare</code><code>(ticks=1);</code>
<code>// A function called on each tick event</code>
<code>function</code> <code>tick_handler()</code>
<code>{</code>
<code> </code><code>echo</code> <code>"tick_handler() called\n"</code><code>;</code>
<code>register_tick_function(</code><code>'tick_handler'</code><code>);</code>
<code>$a</code> <code>= 1;</code>
<code>if</code> <code>(</code><code>$a</code> <code>> 0) {</code>
<code> </code><code>$a</code> <code>+= 2;</code>
<code> </code><code>print</code><code>(</code><code>$a</code><code>);</code>
tick_handler() called
3
declare(ticks)文法記錄定義的語句個數,每執行一個定義語句由register_tick_function函數定義的函數執行一次(可以用來記數)
本文轉自 Lee_吉 部落格,原文連結: http://blog.51cto.com/12173069/1949349 如需轉載請自行聯系原作者