PHP程式設計中,很重要的環節就是條件判斷!
條件判斷能根據不同的情況執行不同的程式碼或進行不同的流程。
流程控制:
程序執行的順序就是流程。
程式一般來說,是由上而下一行一行的執行,但實際上根據邏輯,常常會需要判斷某些狀況與條件,並且在某些條件下時,去執行相對應的程式碼,這就是所謂的流程控制
在PHP中,流程控制的語法有分為以下兩種:
但其實不用搞那麼複雜~~~ 直接使用看實例就是最好的學習方式,主要是會用,不過在進入流程控制之前,要先分清楚'='、'=='、'==='這三者的差別。
一個等號:是賦值運算子
二個等號:是關係運算子
三個等號:是關係運算子(嚴格比較版)
所以~~~
=:賦值
==:比較兩者是否相等
===:比較兩者是否相等(連類型也要相等)
PHP程式設計中,很重要的環節就是條件判斷。條件判斷才能根據不同的情況執行不同的程式碼或進行不同的流程。
大部分的分支和迴圈結構都是由布林值(boolean)判斷式來控制的,也就是true或false。
<?php
//我們給程式一些條件,條件成立的話,就執行一些要做的事情
if(A條件true){
做B事情(A條件成立要做的事);
}
?>
養成好習慣,if(條件判斷){} 要記得加括號,其實後面只有一句(一行程式碼)可以不加,但如果加了會讓人更易明白你程式碼的範圍,要修改也會更加方便~~~
if()內可以有不只一個條件,也就是可以有「多重條件」在2個條件都成立的情況下,才會執行對應要做的事情,並且可以藉由elseif進行更多的條件判斷,以及最後條件否(false),執行else~
<?php
$ages = 20;
$is_driver = false;
if ($ages > 20 && $is_driver) {
echo '你就可以開車';
} elseif ($ages > 18 || $is_driver) {
echo '你就可以上車';
} else {
echo '乖~~~ 當個乖寶寶';
}
這邊也來簡單一個巢狀分支結構好了
<?php
//定義三道門
$oneDoor = true;
$twoDoor = true;
$threeDoor = true;
echo '疫情不能出門,好無聊,化身馬鈴薯!!! <br/>';
if($oneDoor == true){
//房間開門
echo '誒呦誒呦~~~~~~~好高興啊,終於可以出去走走了<br/>';
echo '走走走,到了家裡大門口<br/>';
//判斷家裡大門是否已開
if($twoDoor == true){
//開門
echo '家裡大門已開,大搖大擺走出來,馬鈴薯變身成小調皮<br/>';
echo '走走走,走到了健身房門口<br/>';
//判斷健身房門口是否開門
if($threeDoor == true){
echo '健身房門口已開,喔喔喔喔~ 我終於可以到健身房走走!<br/>';
}else{
echo 'QAQ 我要再次變身馬鈴薯了喔...<br/>';
}
}else{
echo '芝麻開門<br/>';
}
}else{
echo '在家看動漫好開心~~~ <br/>';
echo '但都追完了,求番推薦ㄚㄚ!! 疫情快結束讓我出門走走吧 <br/>';
}
基本的語法格式:
<?php
switch(變數){
case 值1:
變數==值1時執行這裡;
break;
case 值2:
變數==值2時執行這裡;
break;
case 值3:
變數==值3時執行這裡;
break;
default:
上面的都不吻合,那就執行這裏;
}
?>
switch...case的分支結構可以同時執行多條分支,因此==別忘記加braek唷!==,不然程式會持續執行下去wwwww
switch包含許多組case,每一組case都有一個需要比較的值,在執行時,switch()內的變數會按照由上而下的順序一一與case中的值做比較,若符合條件就執行對應的程式碼
直到碰到break或是switch程!式區塊執行到結尾才會停止,換句話說case是執行點,break是結束點,而default就像是if...else中的else,如果上面的每一組case都不符合,就會執行default!
PS. switch...case 只適用於精確值的判斷,不適用於範圍值的判斷。
來看看程式碼吧,這個範例是用來轉換並顯示今天是星期幾
<?php
$week = 2;
switch($week){
case 1:
echo '今天是周一,中午吃餛飩麵<br/>';
break; //終止分支結構執行
case 2:
echo '今天週二,中午吃生菜沙拉(我好健康)<br/>';
break;
case 3;
echo '今天是周三,中午是便當<br/>';
break;
case 4:
echo '今天是周四,中午吃....<br/>';
break;
case 5:
echo '今天是周五,中午我已經不知道要吃什麼了<br/>';
break;
default:
echo '今天是周末,當然睡到中午阿!<br/>';
}
其實跳出迴圈的指令我寫在明天,因為今天覺得篇幅夠多了><,明天會介紹迴圈、跳出迴圈指令—break、continue、goto~~
今天覺得編故事蠻快樂的,編如果...會怎樣...,也是一個小遊戲,有一個破冰遊戲就是接龍故事,遊戲開始前先設好開頭跟結尾,每個人對上一個人的發言,接下去,接力完成一個故事,最後要圓回來,這蠻考驗想像力的XDD