iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 8
0
自我挑戰組

挑戰30天完成PHP聊天室範例系列 第 8

[Day08]第七章-混沌初始(四)-判斷式

生活中常常要依照各種不同情況來做決策,
寫程式也是如此,(以下會示範各種判斷式的寫法)
例如:如果今天下雨,中餐就吃7-11

<?php
$weather = "下雨";//天氣
$lunch = "";//還不知道中餐要吃什麼
if($weather == "下雨"){
    $lunch = "7-11";
}
?>

如果今天下雨,中餐就吃7-11,否則就吃鍋貼
(「否則else」是除了前面的條件,
剩下的條件都會歸類在這裡,
也就是除了下雨,
不管出太陽還是多雲都在else的範圍裡面)

<?php
$weather = "出太陽";//天氣
$lunch = "";//還不知道中餐要吃什麼
if($weather == "下雨"){
    $lunch = "7-11";
}else{
    $lunch = "鍋貼";//除了下雨以外全部都吃鍋貼
}
#這邊預設天氣為出太陽,所以$lunch(中餐)的值會是鍋貼
?>

第三個範例要用到else if,
(if)如果今天下雨就吃7-11,
(else if)陰天就吃水餃,
(else if)出太陽就吃泡麵,
(else)否則就吃鍋貼,
要注意的是,if 跟 else 都只能有一個,
else if卻能有"多個".

<?php
$weather = "陰天";//天氣
$lunch = "";//還不知道中餐要吃什麼
if($weather == "下雨"){
    $lunch = "7-11";
}elseif($weather == "陰天"){
    $lunch = "水餃";
}elseif($weather == "出太陽"){
    $lunch = "泡麵";
}else{
    $lunch = "鍋貼";//除了下雨、陰天和出太陽以外其他都吃鍋貼
}
#這邊預設天氣為陰天,所以$lunch(中餐)的值會是水餃
?>

除了if else還有其他種寫法,
我拿第三種範例來做改寫,
下面介紹switch case,

<?php
$weather = "下雨";//天氣
$lunch = "";//還不知道中餐要吃什麼
switch($weather){ 
  case "下雨":  
    $lunch = "7-11";
    break; 
  case "陰天":  
    $lunch = "水餃"; 
    break; 
  case "出太陽":  
    $lunch = "泡麵"; 
    break; 
  default:  //其他或預設的情況 
    $lunch = "鍋貼"; 
    break; 
    #這邊預設天氣為出下雨,所以$lunch(中餐)的值會是7-11
} 
?>

要注意的是,
每一個case的結束,
一定要加上break,
才能阻止他進入下一個case.

第五種要介紹的是三元運算子,
這個有點像是if else的簡化版寫法,
下面拿第二個範例來改寫(如果今天下雨中餐就吃7-11,否則就吃鍋貼).

<?php
$weather = "出太陽";//天氣
$lunch = "";//還不知道中餐要吃什麼
$lunch = $weather=="下雨" ? "7-11" : "鍋貼";
#這邊預設天氣為出太陽,所以$lunch(中餐)的值會是鍋貼
?>

今天講完這幾種有點多,
希望藉由生活化的範例讓大家比較好了解,
我們繼續努力,下次見囉~


上一篇
[Day07]第六章-混沌初始(三)-常數、運算子
下一篇
[Day09]第八章-混沌初始(五)-亂數、ID函數、迴圈
系列文
挑戰30天完成PHP聊天室範例30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言