php基础教程 第五步 逻辑控制
邏輯判斷
在開發項目時,竟然會出現邏輯控制。例如當用戶輸入“hello”時你需要自動回復“hello 歡迎”,當用戶設置的定時時間到達時,你需要提醒用戶時間已經結束;再舉個例子,在玩網絡游戲時,用戶控制的角色被攻擊,角色需要減掉相應的HP(血量),用戶釋放技能時需要減掉相應的MP(魔法值),這些都需要使用邏輯去進行判斷,從而減掉相應的值。
這些都是邏輯判斷,在php中使用 if 條件語句進行邏輯判斷。
if 語句
if語句的語法如下:
<?phpif(條件){條件判斷正確在此處輸入需要執行的代碼;} ?>以上代碼中,if是關鍵字,關鍵字是在代碼中已經設定了有特殊作用的標識,if是用作條件判斷,則if是個關鍵字。例如先前我們使用過的echo 也是關鍵字。
查看以上代碼的格式標準發現,if后面緊跟著一對圓括號,圓括號中間需要添加條件。這個條件可以是一個表達式(表達式指一個運算組合使用有意義的排列并且有最終值的一個組合,例如1+1、2+2等),或者是一個值。條件例如 1==1、1>2 或者有一個變量a值為1,有一個變量值為2,可以為$a>$b 。
在編寫完條件后,使用了一堆花括號{},花括號中編寫當條件正確時執行的代碼。
查看以下示例方便理解if語句:
以上代碼中,使用if語句,在條件中添加 2>1,如果2>1條件成立,那么輸出2比1大。這個條件顯然是成立的,我們輸入localhost\index.php 訪問網站根目錄下的index.php文件(注意一定要開啟服務),因為我這個代碼編寫的文件名為index.php,并且放在了根目錄下。
運行結果如下:
由于條件成立,所以輸出了2比1大。這個時候更改條件改為 1>2,代碼如下:
這個時候條件 1>2 明顯是錯的,條件不成立,則不會執行第一個花括號{}里面的代碼,所以當我們訪問該php文件時,并不會輸出任何的值:
if else 語句
以上示例中,如果條件判斷錯誤,不成立并不能提示輸出情況這時可以使用else語句。
else語句用來說明當if條件判斷不成立后,執行的代碼語句。
查看以下示例可以直觀的了解:
以上代碼多了else語句。在第一個花括號{}后面,增加了一個else進行相連,并且在else后添加了一個花括號,在花括號中編寫了 echo '2比1大 判斷錯誤'; 這一條代碼。這條代碼顯示了 2比1大 判斷錯誤 這一條信息。當if條件判斷錯誤,那么則會執行該語句進行顯示。
運行結果如下:
在if語句以及if…else 語句中,不同條件下所執行的語句并不止是一條,可以多條。
示例如下:
以上程序示例均在不同的判斷結果中編寫了多條語句,這些語句都會執行。
在if 語句中,只執行一個程序塊,并不會對錯都執行。
在if 語句中,可以使用變量作為條件判斷,示例如下:
以上程序示例中,聲明且定義了兩個變量,一個是a還有一個是b,在條件判斷中,判斷變量a是否大于b,如果正確則輸出第一個if花括號里面的程序,如果輸入錯誤則會執行第二個花括號里面的值。
并且輸出的時候使用變量直接輸出,使用點 . 運算發連接他們。
結果如下:
多條件的if語句
或運算||
在if語句中的條件,可以設置為多個,例如我想判斷變量a是否大于b或者a是否等于3這個條件,只要滿足其中之一都算對。可以寫為如下示例:
<?php$a=3;$b=5;if($a>$b||$a==3){echo '判斷正確 ';echo $a.'比'.$b.'大 或者變量a 等于3';}else{echo '判斷錯誤 ';echo $a.'比'.$b.'小';} ?>以上代碼中,在if條件內進行了更改:$a>$b||$a==3
需要注意的是,里面多了一個沒有見過的運算符號 ||,這個符號的作用是或運算,或運算則表示左右兩邊有一個正確,那么整個條件判斷都為正確。
左邊是 $a>$b,如果成立,即使$a不等于3也算整個表達式正確。
右邊是 $a==3,如果左邊的條件錯誤,整個判斷都算正確。
結果如下:
當然可以使用多個或運算,如下:
在if條件的判斷中,多了一個$a==4,判斷a是否等于4,即使其它條件錯誤,只要a等于4那么整個表達式都將會正確。
和運算&&
和運算&&必須所有條件都滿足正確,整個表達式才都正確。例如如下代碼:
<?php$a=11;$b=5;if($a>$b&&$a==11){echo '判斷正確 ';echo $a.'比'.$b.'大 并且等于 11';}else{echo '判斷錯誤 ';echo $a.'比'.$b.'小';} ?>以上代碼中把a變量的值更改為了11。在條件判斷中,必須滿足a變量大于b變量,且a必須是11整個表達式才算正確,他們兩個表達式之間使用 && 進行相連。結果如下:
if…elseif…else語句
當我們需要判斷多個條件時需要使用if…elseif 語句進行判斷。
例如 天氣下雨的時候我在家看電視、天氣刮風的時候我出門吹風、天氣大太陽的時候我就曬衣服。
代碼示例如下:
以上代碼有一個變量a,值為天氣大太陽。
使用if判斷,a變量等于天氣下雨,我就在家看電視;天氣大太陽我就曬衣服;天氣刮風我就出門吹風。
elseif 則是使用在多個條件判斷時,當滿足不了其一,那么就接下去進行判斷,直到找到符合條件成立的模塊代碼,隨后執行。如果都沒有找到條件成立的代碼,那么這個if條件語句將什么都不執行。
結果如下:
萬一什么條件都不執行,我想需要一個狀態進行表示。當條件都不滿足,那么我就什么都不做,只需要添加else部分即可,例如如下代碼示例:
以上代碼a變量的值為下冰雹,我在狀態設計時并沒有編寫該狀態對應的處理流程,那么我將執行else區域代碼,顯示 我什么都不做。
結果如下:
if語句嵌套
if語句是可以嵌套的,如下代碼:
<?php$a='天氣下冰雹';$b='我媽不給我出門';if($a=='天氣下冰雹'){echo '天氣下冰雹了';if($b=='我媽給我出門'){echo '出門玩';}else{echo '我媽不給我出門';}} ?>以上代碼中if語句判斷a變量是否等于下冰雹,如果下冰雹,那么顯示 天氣下冰雹了。之后在當前if語句的花括號{}內,還添加了一段代碼,是if語句,判斷b變量是否是我媽給我出門,如果是我媽給我出門,那么就顯示出門玩,如果不是,那么就是我媽不給我出門玩。
結果如下:
php 文章持續更新中,歡迎關注、點贊、收藏、轉發。
總結
以上是生活随笔為你收集整理的php基础教程 第五步 逻辑控制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php基础教程 第四步 学习运算符
- 下一篇: php基础教程 第六步 学习数组以及条件