前端學PHP之語句,學PHP之語句

来源:http://www.cnblogs.com/book088/archive/2016/11/21/6084066.html
-Advertisement-
Play Games

[1]if語句 [2]switch [3]while[4]do-while[5]for語句[6]foreach[7]break[8]continue[9]goto 任何 PHP 腳本都是由一系列語句構成的。一條語句可以是一個賦值語句,一個函數調用,一個迴圈,一個條件語句或者甚至是一個什麼也不做的語句 ...


目錄

[1]if語句 [2]switch [3]while[4]do-while[5]for語句[6]foreach[7]break[8]continue[9]goto

前面的話

  任何 PHP 腳本都是由一系列語句構成的。一條語句可以是一個賦值語句,一個函數調用,一個迴圈,一個條件語句或者甚至是一個什麼也不做的語句(空語句)。語句通常以分號結束。此外,還可以用花括弧將一組語句封裝成一個語句組。語句組本身可以當作是一行語句。本文將詳細介紹各種語句類型


if語句

  if 結構是很多語言包括PHP在內最重要的特性之一,它允許按照條件執行代碼片段

if (條件) {  當條件為 true 時執行的代碼;}if (條件) {  條件為 true 時執行的代碼;} else {  條件為 false 時執行的代碼;}if (條件) {  條件為 true 時執行的代碼;} elseif (條件) {  條件為 true 時執行的代碼;} else {  條件為 false 時執行的代碼;}<?php$t=date("H");if ($t<"10") {  echo "Have a good morning!";} elseif ($t<"20") {  echo "Have a good day!";} else {  echo "Have a good night!";}?>
switch語句

  switch語句類似於具有同一個表達式的一系列 if 語句。很多場合下需要把同一個變數(或表達式)與很多不同的值比較,並根據它等於哪個值來執行不同的代碼。這正是 switch 語句的用途

  [註意]switch/case做的是鬆散比較

switch (expression){case label1:  code to be executed if expression = label1;  break;  case label2:  code to be executed if expression = label2;  break;default:  code to be executed  if expression is different   from both label1 and label2;}<?phpswitch ($x){case 1:  echo "Number 1";  break;case 2:  echo "Number 2";  break;case 3:  echo "Number 3";  break;default:  echo "No number between 1 and 3";}?>
while語句

  while 迴圈是 PHP 中最簡單的迴圈類型。while語句的含意很簡單,它告訴 PHP 只要 while 表達式的值為 TRUE 就重覆執行嵌套中的迴圈語句。表達式的值在每次開始迴圈時檢查,所以即使這個值在迴圈語句中改變了,語句也不會停止執行,直到本次迴圈結束。有時候如果 while 表達式的值一開始就是 FALSE,則迴圈語句一次都不會執行

while (expr)    statement<?php$i = 1;while ($i <= 10) {    echo $i++; }$i = 1;while ($i <= 10):    print $i;    $i++;endwhile;?>
do-while

 do-while 迴圈和 while 迴圈非常相似,區別在於表達式的值是在每次迴圈結束時檢查而不是開始時。和一般的 while 迴圈主要的區別是 do-while 的迴圈語句保證會執行一次(表達式的真值在每次迴圈結束後檢查)

do {  要執行的代碼;} while (條件為真);<?php$i = 0;do {   echo $i;} while ($i > 0);?>
for語句

  for 迴圈是 PHP 中最複雜的迴圈結構。for迴圈語句中,初始化在迴圈開始前無條件求值一次,迴圈條件在每次迴圈開始前求值。如果值為true,則繼續迴圈,執行迴圈體語句;如果值為false,則終止迴圈。遞增語句在每次迴圈後執行

for (init counter; test counter; increment counter) {  code to be executed;}   <?php for ($x=0; $x<=10; $x++) {  echo "數字是:$x <br>";} ?>
foreach

  foreach語法結構提供了遍曆數組的簡單方式。foreach 僅能夠應用於數組和對象,如果嘗試應用於其他數據類型的變數,或者未初始化的變數將發出錯誤信息

  每進行一次迴圈迭代,當前數組元素的值就會被賦值給$value變數,並且數組指針會逐一移動,直到到達最後一個數組元素。一般有兩種方式:不取下標、取下標

  【1】只取值,不取下標

foreach ($array as $value) {  code to be executed;}    <?php $colors = array("red","green","blue","yellow"); foreach ($colors as $value) {  echo "$value <br>";}?>

  【2】同時取下標和值

foreach ($array as $index => $value) {  code to be executed;} <?php $colors = array(  "r"=>"red",  "g"=>"green",  "b"=>"blue",  "y"=>"yellow"); /*r:redg:greenb:bluey:yellow*/foreach ($colors as $key => $value) {  echo $key.":".$value."<br>";}?>
break

  break 結束當前 for,foreach,while,do-while 或者 switch 結構的執行

  break 可以接受一個可選的數字參數來決定跳出幾重迴圈

$i = 0;while (++$i) {    switch ($i) {    case 5:        echo "At 5<br />\n";        break 1;  /* 只退出 switch. */    case 10:        echo "At 10; quitting<br />\n";        break 2;  /* 退出 switch 和 while 迴圈 */    default:        break;    }}
continue

  continue 在迴圈結構用用來跳過本次迴圈中剩餘的代碼併在條件求值為真時開始執行下一次迴圈

  continue 接受一個可選的數字參數來決定跳過幾重迴圈到迴圈結尾。預設值是 1,即跳到當前迴圈末尾

$i = 0;while ($i++ < 5) {    echo "Outer<br />\n";    while (1) {        echo "Middle<br />\n";        while (1) {            echo "Inner<br />\n";            continue 3;        }        echo "This never gets output.<br />\n";    }    echo "Neither does this.<br />\n";}
goto

  goto 操作符可以用來跳轉到程式中的另一位置。該目標位置可以用目標名稱加上冒號來標記,而跳轉指令是 goto 之後接上目標位置的標記。PHP 中的 goto 有一定限制,目標位置只能位於同一個文件和作用域,也就是說無法跳出一個函數或類方法,也無法跳入到另一個函數。也無法跳入到任何迴圈或者 switch 結構中。可以跳出迴圈或者 switch,通常的用法是用 goto 代替多層的 break

<?phpgoto a;echo 'Foo'; a://'Bar'echo 'Bar';?>

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 上一篇介紹了Aries列表數據表格的格式化處理及行內編輯,本篇介紹DataGrid的主鍵操作區相關內容,詳情如下... ...
  • 參考資料: .edmx 文件概述(實體框架) ...
  • 一個技術汪的開源夢 —— 目錄 微軟的 ASP.Net Core 強化了 Nuget 的使用,所有的 .Net Core 組件均有 Nuget 管理,所以有必要探討一下 .Net Core 組件製作 Nuget 包和發佈。 之前 .Net Framework 程式集打包 Nuget 有以下方法: 1 ...
  • 很多時候使用svn,我們需要切換svn賬號,但是由於之前的賬號已經選擇了記住密碼,那麼我們應該如何刪除svn密碼來切換新的svn賬號呢? 其實很簡單,svn賬號密碼信息保存在電腦某一文件中,我們只要刪除該文件,下次登錄即可切換賬號 具體文件路徑如下:C:\Users\XXX\AppData\Roam ...
  • 今日問題: 有兩個類,Test類在Nov2016.use01包中,Ques1121類在Nov2016包中,在它的main方法中實例化了一個Test對象,並調用它的getString()方法,請問上面的程式編譯可以通過嗎?(點擊以下“【Java每日一題】20161121”查看20161118問題解析) ...
  • 這個Python腳本是用來對實時文件的內容監控,比如 Error 或者 time out 欄位都可以進行自定義;算是我的第一個真正的Python腳本,自己感覺還是比較臃腫,不過打算放到blog上記錄一下(還是初學者,大神們勿噴哈),真心希望博友們能夠再指點一下(現在記錄每次的文件大小值是輸出到了一個 ...
  • 轉載地址:http://www.07net01.com/program/2016/04/1452749.html [摘要:正在AS上開闢時,碰到那個題目,翻開全部的Java源文件,右邊一起標赤色,找沒有到類,到沒有到方式,由於不克不及面擊跳轉,開闢時糾結了很久,試了clean、rebuild等種種方 ...
  • 在學習完java中的條件判斷之後不久,老師佈置了這樣一道題,用java寫這樣的小程式:輸入年份和月份,運行後輸出對應當月的日期和星期,簡單來說就是寫一個日曆。一下的為簡單的案例代碼。 【在落手之前,我們能想到的相關邏輯有哪些呢:判斷這一年有多少天,是閏年還是平年,每個月對應的天數,對應月份的1號是星 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...