PHP入門-Day6:流程控制

更新於 2024/07/14閱讀時間約 6 分鐘

if, else if, else

if語句用於根據條件執行代碼塊。else ifelse則用於處理多個條件和默認情況:

$age = 20;

if ($age < 18) {
echo "未成年";
} elseif ($age >= 18 && $age < 65) {
echo "成年";
} else {
echo "老年";
}

三元運算子

三元運算子是一個簡潔的條件運算符,語法為condition ? expr1 : expr2

$age = 20;
$status = ($age >= 18) ? "成年" : "未成年";
echo $status; // 輸出:成年

switch語句

switch語句用於在多個可能值中進行選擇,類似於多個if語句:

$day = "Monday";

switch ($day) {
case "Monday":
echo "今天是星期一";
break;
case "Tuesday":
echo "今天是星期二";
break;
case "Wednesday":
echo "今天是星期三";
break;
default:
echo "不是星期一、二或三";
break;
}

for迴圈

for迴圈用於執行固定次數的迭代。語法為:for (initialization; condition; increment) { ... }

for ($i = 0; $i < 10; $i++) {
echo $i . " ";
}

foreach 迴圈

foreach 迴圈有兩種基本語法:

遍歷數組值

$array = array(1, 2, 3, 4, 5);

foreach ($array as $value) {
echo $value . " "; // 輸出:1 2 3 4 5
}

遍歷數組鍵和值

$assocArray = array(
"name" => "Alice",
"age" => 30,
"email" => "alice@example.com"
);

foreach ($assocArray as $key => $value) {
echo "$key: $value\\\\n";
/*
輸出:
name: Alice
age: 30
email: alice@example.com
*/
}

遍歷對象

foreach 也可以用於遍歷對象的屬性:

class Person {
public $name = "Alice";
public $age = 30;
public $email = "alice@example.com";
}

$person = new Person();

foreach ($person as $property => $value) {
echo "$property: $value\\\\n";
/*
輸出:
name: Alice
age: 30
email: alice@example.com
*/
}

while迴圈

while迴圈用於在條件為真時重複執行代碼塊。語法為:while (condition) { ... }

$i = 0;
while ($i < 10) {
echo $i . " ";
$i++;
}

do-while 迴圈

以下是一個簡單的範例,演示如何使用 do-while 迴圈:

$i = 0;

do {
echo $i . " ";
$i++;
} while ($i < 10);

循環嵌套

循環可以嵌套在其他循環內部,無論是forwhile還是do-while

for ($i = 0; $i < 5; $i++) {
for ($j = 0; $j < 5; $j++) {
echo "($i, $j) ";
}
echo "\\\\n";
}

控制迴圈語句

PHP提供了幾個控制循環的語句:breakcontinuegoto

break

break語句用於立即退出循環:

for ($i = 0; $i < 10; $i++) {
if ($i == 5) {
break; // 當$i為5時,退出循環
}
echo $i . " ";
}

continue

continue語句用於跳過當前迭代並開始下一次迭代:

for ($i = 0; $i < 10; $i++) {
if ($i == 5) {
continue; // 當$i為5時,跳過當前迭代
}
echo $i . " ";
}

goto

goto語句用於跳轉到指定標籤。建議謹慎使用goto,因為它會使代碼難以閱讀和維護:

$i = 0;

start:
echo $i . " ";
$i++;
if ($i < 10) {
goto start;
}

return

return 語句用於從函數中返回一個值,並結束函數的執行。它可以返回任何類型的值,包括整數、浮點數、字串、陣列、對象等,也可以不返回任何值(即返回 null)。

function add($a, $b) {
return $a + $b;
}

$result = add(5, 10); // $result 的值為 15
echo $result;

avatar-img
15會員
111內容數
日後將分享關於我的經驗(日常、工作、技術),並期待未來能創造屬於我的宇宙。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Michael楊 的其他內容
本章節介紹了PHP中的各種運算符,包括算數運算子、比較運算子、賦值運算子和位元運算子。還討論了運算子的優先等級及其在表達式中的應用。了解這些運算符及其優先等級可以幫助編寫更高效和準確的PHP代碼。
這一章節介紹了PHP的各種資料型別,包括內建型別如整數、浮點數、布爾值、字符串、數組、對象、空值和資源,並解釋了型別轉換的方式。此外,還討論了自訂型別、元組型別、集合型別、陣列型別和字典型別的實現方法。
本章節旨在介紹如何在不同操作系統上安裝和配置PHP環境,並使用命令行工具進行基礎操作。此外,還介紹了使用Visual Studio Code進行PHP開發的步驟,包括安裝擴展和設置調試環境。
在本節中,我們介紹了PHP的基本語法,包括如何在HTML中嵌入PHP代碼,PHP腳本的執行順序,以及多種註解方式。我們還學習了如何定義和使用變數,包括單個變數和多個變數的賦值方法。這些基礎知識將幫助你開始使用PHP進行Web開發。
這個章節介紹了PHP的基本特性和應用領域,並且列舉了使用PHP的知名公司和網站。了解PHP的簡單易學、跨平台、嵌入HTML等特性,以及PHP在動態網站、電子商務、內容管理系統、社交媒體平台、數據庫管理和API開發中的應用。
本章節的目的是介紹Java中的套件使用,包括如何引用第三方套件和自定義模組,如何創建和使用自定義套件,以及介紹一些常見的Java標準庫套件。這些內容將幫助讀者更好地理解和使用Java的套件系統。
本章節介紹了PHP中的各種運算符,包括算數運算子、比較運算子、賦值運算子和位元運算子。還討論了運算子的優先等級及其在表達式中的應用。了解這些運算符及其優先等級可以幫助編寫更高效和準確的PHP代碼。
這一章節介紹了PHP的各種資料型別,包括內建型別如整數、浮點數、布爾值、字符串、數組、對象、空值和資源,並解釋了型別轉換的方式。此外,還討論了自訂型別、元組型別、集合型別、陣列型別和字典型別的實現方法。
本章節旨在介紹如何在不同操作系統上安裝和配置PHP環境,並使用命令行工具進行基礎操作。此外,還介紹了使用Visual Studio Code進行PHP開發的步驟,包括安裝擴展和設置調試環境。
在本節中,我們介紹了PHP的基本語法,包括如何在HTML中嵌入PHP代碼,PHP腳本的執行順序,以及多種註解方式。我們還學習了如何定義和使用變數,包括單個變數和多個變數的賦值方法。這些基礎知識將幫助你開始使用PHP進行Web開發。
這個章節介紹了PHP的基本特性和應用領域,並且列舉了使用PHP的知名公司和網站。了解PHP的簡單易學、跨平台、嵌入HTML等特性,以及PHP在動態網站、電子商務、內容管理系統、社交媒體平台、數據庫管理和API開發中的應用。
本章節的目的是介紹Java中的套件使用,包括如何引用第三方套件和自定義模組,如何創建和使用自定義套件,以及介紹一些常見的Java標準庫套件。這些內容將幫助讀者更好地理解和使用Java的套件系統。
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
介紹工作後幾個常見的小問題,包括寫 Log 的好習慣、本地印出錯誤或過程、PHPCS 工具、變數儲存於設定檔、避免魔術數字、程式碼靜態分析與動態分析。
Thumbnail
在PHP中可以用$this、self、與static代表自己這個類別,有些人可能搞不清楚他們的區別,尤其是self、與static,但是他們各別有自己的意義和用法,在實戰中這些些微的差別可能就會造成不可預期的問題,本文仔細說明了他們之間的差別。
Thumbnail
在PHP的團隊開發中,PHP CS Fixer可以確保每個開發人員的Coding Style相同,是相當重要的工具。本篇文章將會詳細說明PHP CS Fixer在Linux環境下的安裝方式。
Thumbnail
Composer是PHP的軟體套件管理系統,它提供用於管理PHP軟體和依賴庫關係的標準格式。通常以專案為單位進行管理,會在專案根目錄底下(預設是vendor)安裝套件,除此外可以安裝全局套件。
Thumbnail
本文將介紹在Windows環境中安裝SQL Server及相關PHP擴展,以進行與SQL Server的串接。透過本文所述步驟,您將能在Windows環境中順利進行PHP與SQL Server串接設定。
Thumbnail
本文將介紹在Windows環境中安裝Oracle Instant Client及相關PHP擴展,以進行與Oracle Database的串接。透過本文所述步驟,您將能在Windows環境中順利進行PHP與Oracle Database的串接設定。
Thumbnail
這篇文章將會提供在伺服器上安裝憑證的步驟,包括下載憑證,設定php.ini以及重新啟動Web Server等。
Thumbnail
PHP(全名為「PHP: Hypertext Preprocessor」)是一門開源的伺服器端程式語言,為動態網頁開發設計。閱讀本文將讓您瞭解PHP的特點、廣泛支援、易學性、資源豐富以及跨平臺性。
PHP(Hypertext Preprocessor)是一種流行的開源腳本語言,特別適用於網頁開發。它具有簡單的語法和易於理解的程式碼結構,並且支持多種數據庫系統和其他技術和框架集成。本文將介紹PHP的主要特點和廣泛應用性。
Thumbnail
四捨五入到小數點後第二位,並自動補0到小數點後第二位: sprintf("%.2f", round($num,2)) 本筆記參考: 1. https://www.cnblogs.com/ryanzheng/p/12292852.html
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
介紹工作後幾個常見的小問題,包括寫 Log 的好習慣、本地印出錯誤或過程、PHPCS 工具、變數儲存於設定檔、避免魔術數字、程式碼靜態分析與動態分析。
Thumbnail
在PHP中可以用$this、self、與static代表自己這個類別,有些人可能搞不清楚他們的區別,尤其是self、與static,但是他們各別有自己的意義和用法,在實戰中這些些微的差別可能就會造成不可預期的問題,本文仔細說明了他們之間的差別。
Thumbnail
在PHP的團隊開發中,PHP CS Fixer可以確保每個開發人員的Coding Style相同,是相當重要的工具。本篇文章將會詳細說明PHP CS Fixer在Linux環境下的安裝方式。
Thumbnail
Composer是PHP的軟體套件管理系統,它提供用於管理PHP軟體和依賴庫關係的標準格式。通常以專案為單位進行管理,會在專案根目錄底下(預設是vendor)安裝套件,除此外可以安裝全局套件。
Thumbnail
本文將介紹在Windows環境中安裝SQL Server及相關PHP擴展,以進行與SQL Server的串接。透過本文所述步驟,您將能在Windows環境中順利進行PHP與SQL Server串接設定。
Thumbnail
本文將介紹在Windows環境中安裝Oracle Instant Client及相關PHP擴展,以進行與Oracle Database的串接。透過本文所述步驟,您將能在Windows環境中順利進行PHP與Oracle Database的串接設定。
Thumbnail
這篇文章將會提供在伺服器上安裝憑證的步驟,包括下載憑證,設定php.ini以及重新啟動Web Server等。
Thumbnail
PHP(全名為「PHP: Hypertext Preprocessor」)是一門開源的伺服器端程式語言,為動態網頁開發設計。閱讀本文將讓您瞭解PHP的特點、廣泛支援、易學性、資源豐富以及跨平臺性。
PHP(Hypertext Preprocessor)是一種流行的開源腳本語言,特別適用於網頁開發。它具有簡單的語法和易於理解的程式碼結構,並且支持多種數據庫系統和其他技術和框架集成。本文將介紹PHP的主要特點和廣泛應用性。
Thumbnail
四捨五入到小數點後第二位,並自動補0到小數點後第二位: sprintf("%.2f", round($num,2)) 本筆記參考: 1. https://www.cnblogs.com/ryanzheng/p/12292852.html