首頁  >  文章  >  後端開發  >  PHP中的各種流程控制基礎教程

PHP中的各種流程控制基礎教程

伊谢尔伦
伊谢尔伦原創
2017-06-22 09:43:44924瀏覽

條件控制語句主要有if、if…else、elseif和switch四種,while循環是php中最簡單的循環語句,使用break/continue語句跳出迴圈。

1、if

if () {
    statement;
} else if {
    statement;
} elseif {
    statement;
} else {
    statement;
}

else if和elseif句法分析的意思有少許區別,但是底線是兩者會產生完全一樣的行為

#2、循環

while () {
    statement;
}
do {
    statement;
} while();
for (;;) {
    statement;
}
foreach (as) {
    statement;
}
break、continue

可以接受一個可選的數字參數來決定跳出幾重循環

#3、switch

switch () {
    case :
        statement;
    default:
        statement;
}

允許使用分號代替case 語句後的冒號

switch ($beer) {
    case 'tuborg';
    case 'carlsberg';
    case 'heineken';
        echo 'Good choice';
    break;
    default;
        echo 'Please make a new selection...';
    break;
}

4、declare

declare 結構用來設定一段程式碼的執行指令。

目前只認識兩個指令:ticks 以及encoding

5、Ticks

Tick(時脈週期)是一個在declare 程式碼段中解釋器每執行N 條可計時的低階語句就會發生的事件。 N 的值是在 declare 中的 directive 部分用 ticks=N 來指定的

#不是所有語句都可計時。通常條件表達式和參數表達式都不可計時。

tick 代表一個事件,事件的定義是在register_tick_function,事件的執行頻率是在(ticks=n)。

用途,每執行幾個語句就觸發一次事件,例如記錄事件。這樣可以檢查declare內的php程式碼的執行速度。可以找比較慢的部分發生的程式碼段位置。

<?php
    function doTicks ()
    {
        echo &#39;Ticks&#39;;
    }
    register_tick_function(&#39;doTicks&#39;);
    declare(ticks = 1) {
        for ($x = 1; $x < 10; ++ $x) {
            echo $x * $x . &#39;<br />&#39;;
        }
    }
?>

運算結果:

1
TicksTicks4
TicksTicks9
TicksTicks16
TicksTicks25
TicksTicks36
TicksTicks49
TicksTicks64
TicksTicks81
TicksTicksTicksTicks

首先完整的for迴圈算一個語句,但必須要等迴圈結束才算,因此在編譯時for迴圈裡面的echo算第一個語句。 

所以第一個doTicks是在第一個echo後執行的,也就是1輸出後才發生第一個tick事件。

x=9的這個for迴圈也結束了,這又是一條語句,輸出第二個ticks;開始$x=10的循環,但這時已不滿足循環條件, for迴圈執行結束,這個迴圈又是一個語句,這時輸出第三個ticks。 

最後declare本身也算一語句,所以又輸出第四個ticks。

6、Encoding

可以用encoding 指令來對每段腳本指定其編碼方式

<?php
declare(encoding=&#39;ISO-8859-1&#39;);
// code here
?>

7、reutrn

require、include、require_onceinclude_once

require 和include 幾乎完全一樣,除了處理失敗的方式不同之外。 require 在出錯時產生 E_COMPILE_ERROR 等級的錯誤,換句話說將導致腳本中止而 include 只產生警告(E_WARNING),腳本會繼續運行。

8、goto

goto 運算子可以用來跳到程式中的另一個位置。此目標位置可以用目標名稱加上冒號來標記,而跳轉指令是 goto 之後接上目標位置的標記。

PHP 中的 goto 有一定限制,目標位置只能位於同一個檔案和作用域,也就是說無法跳出一個函數或類別方法,也無法跳入另一個函數。也無法跳入任何循環或 switch 結構中。可以跳出迴圈或 switch,通常的用法是用 goto 取代多層的 break。

<?php
goto a;
echo &#39;Foo&#39;;
a:
echo &#39;Bar&#39;;
?>

以上是PHP中的各種流程控制基礎教程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn