PHP 流量控制語句的替代文法_PHP教程

來源:互聯網
上載者:User

PHP 流量控制語句的替代文法


PHP 提供了一些流程式控制制的替代文法,包括 if,while,for,foreach 和 switch。替代文法的基本形式是把左花括弧({)換成冒號(:),把右花括弧(})分別換成endif;,endwhile;,endfor;,endforeach; 以及endswitch;。

elseif與 else if 只有在類似使用花括弧的情況下才認為是完全相同。如果用冒號來定義if/elseif 條件,那就不能用兩個單詞的 else if,否則 PHP 會產生解析錯誤。

foreach 文法結構提供了遍曆數組的簡單方式。foreach 僅能夠應用於數組和對象,如果嘗試應用於其他資料類型的變數,或者未初始化的變數將發出錯誤資訊。由於 foreach 依賴內部數組指標,在迴圈中修改其值將可能導致意外的行為。

foreach (array_expression as $value)    statementforeach (array_expression as $key => $value)    statement

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

被包含檔案先按參數給出的路徑尋找,如果沒有給出目錄(只有檔案名稱)時則按照 include_path 指定的目錄尋找。如果在 include_path 下沒找到該檔案則 include 最後才在呼叫指令碼檔案所在的目錄和當前工作目錄下尋找。如果最後仍未找到檔案則 include 結構會發出一條警告;這一點和 require 不同,後者會發出一個致命錯誤。
如果定義了路徑——不管是絕對路徑(在 Windows 下以盤符或者 開頭,在 Unix/Linux 下以 / 開頭)還是目前的目錄的相對路徑(以 . 或者 .. 開頭)——include_path 都會被完全忽略。例如一個檔案以 ../ 開頭,則解析器會在目前的目錄的父目錄下尋找該檔案。

當一個檔案被包含時,其中所包含的代碼繼承了 include 所在行的變數範圍。從該處開始,調用檔案在該行處可用的任何變數在被調用的檔案中也都可用。不過所有在包含檔案中定義的函數和類都具有全域範圍。

vars.phptest.php
A is equal to 5  $b):        echo a is bigger than b;        echo ...;    elseif($a == $b):        echo a is equals b;    else:        echo a is smaller than b;    endif;        // While - do-while(0)    $i = 1;    while($i < 10):        echo $i++. ;    endwhile;        // for    for ($i = 10; $i <= 11; $i++):        echo $i. .;    endfor;          // foreach    $arr = array(1, 2, 3, 4, 5);         foreach($arr as $key => & $value):        $value += 2;        echo Key1: $key => Value: $value.;    endforeach;          // 數組最後一個元素的 $val 引用在 foreach 迴圈之後仍會保留。建議使用 unset() 來將其銷毀。    unset($value);         reset($arr);    while (list($key, $value) = each($arr)):        echo Key2: $key => Value: $value.;    endwhile;        // switch - goto    $i = 1;    switch ($i):    case 0:        echo i equals 0;        break;    case 1:        echo i equals 1;        break;    case 2:        echo i equals 2;        break;    endswitch;    ?>



http://www.bkjia.com/PHPjc/1025014.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1025014.htmlTechArticlePHP 流量控制語句的替代文法 PHP 提供了一些流程式控制制的替代文法,包括 if,while,for,foreach 和 switch。替代文法的基本形式是把左花括弧(...

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.