PHP條件句 – 條件句在編碼上隨處可見. 程式編碼就是一堆分別判斷情況, 再提出行動指令的邏輯. if為邏輯的根本. 就好像一個人去計劃做一件事或對一件事作預備, 不可能無假設, 沒有如果這字眼, 不用if這字眼, 就無法把情況判斷, 分類, 也無沒寫程式. 總而言之, 學條件句為最基本而必要.
if為control flow 流程的必要元件
if為control flow 流程的必要元件, control flow 流程即相當一套人在思考時想”如果, 就這樣”的想法. 一個程式流可以由多個if條件句所形成. 用在分類上, 就好像水在樹底下自下而上流到葉, 如送信的機構, 會先把信送至一個國家的省總局, 再送至市, 再送至區, 再到確實的住處. 加上for loop, Array, Collection, Interface等, 混合應用可大大增強程序結構的簡潔, 並令Logic 可在Flow當中Block內重用.
一個條件句有三個元件
- 一個條件句有三個元件, 一是variable, 二是比較項, 三是比較值(可為variable). 如 (x > 10), “x”為variable, “>”為比較邏輯, “10”為比較值, 其句意思為如果x大於10.
- 當中必須至少有一個variable, 因為variable可以使比較有一個當時的值, 才會作出有意義的比較. 如果不用variable, 用一個hardcode的值去比較, 如20 > 10, 20永遠比10大, 所以結果永遠true. (即(if(20>10) 是等如if (true))).
- 如果數值永遠為true, 那這句條件句根本多餘而不用寫, 因為這if的block必然會走, 直接寫block內的code就可以了.
- 如果永遠為false, 這code內的block永遠不會走, 所以條件句連同block內的code也可不用寫.
用if的方法
- 而用的方法有很多種. 如果情況固定, 如用在一個界定問題上, 條件句內只用一個variable, 及hardcode一個值是會比較好, 因為簡單直觀而容易看. 如現在温度如果過了20度就開冷氣, 很直接而容易理解.
- 如果用兩個variable, 就會比較抽象, 但會有相對的彈性. 如現在温度如果過了設定A的度就開冷氣(可以有設定B, 設定C, 這可能由於有不同的設定者, 情景). 這對初學者來說會有點困難, 但相信一段短時間就可以習慣.
if用法一覽表
以下為一些例子顯示出 if 用法. Let’s Start!
條件句condition 即條件句數值的條件句大多如下: |
i < 20 – 大於值 i <= 20 – 大於及等如值 i == 20 – 等如值 i != 20 – 不等如值 i <> 20 – 不等如值 i > 20 – 小於值 i >= 20 – 小於及等如值 i === 20 – 等如值及等如類別 i !== 20 – 不等如值或不等如類別 i <=> y – 在I 及 y的範圍內 |
句型 |
<?php if(condition){ // block of code to be executed if the condition is True } ?> |
例子 |
<?php if (isTrue == true){ // block of code to be executed if the condition is True } if (isTrue == false){ // block of code to be executed if the condition is True } ?> |
等如 |
<?php if (isTrue){ // block of code to be executed if the condition is True } if (!isTrue){ // block of code to be executed if the condition is True } ?> |
<?php if(condition 1){ // block of code to be executed if the condition is True } elseif (condition 2) { // block of code to be executed if the condition is True } else { // block of code to be executed if the all other conditions is False } ?> |
如condition 1乎合條件, 行condition 1的block, 之後完結 如condition 1不乎合條件, 行condition 2, 若乎合條件, 行condition 2的block 如condition 2不乎合條件, 行else 的block, 完結 |
條件句加上 && (And) |
<?php $bnIsUsed = true; $bnIsSelling = true; if ($bnIsUsed == true && $bnIsSelling == true) { // block of code to be executed if the condition is True } ?> |
等如 |
<?php $bnIsUsed = true; $bnIsSelling = true; if ($bnIsUsed && $bnIsSelling) { // block of code to be executed if the condition is True } ?> |
等如 |
<?php if ($bnIsUsed) { if ($bnIsSelling) { // block of code to be executed if the condition is True } } ?> |
等如意思是説, 如果bnIsUsed 及 bnIsSelling都是true 的話, 就會行Block. |
相關頁面:
PHP迴圈 – For Loop, For Each的基礎用法 – BLOCK的重用
PHP 迴圈 – PHP while 迴圈的基礎用法 – 用BLOCK把代碼重用起來
參考資料: https://www.php.net/manual/zh/control-structures.if.php