iT邦幫忙

6

PHP連載 10

連載終於突破了 9篇了~~!
感謝費公大力加持~~!

人物:
黑鷹
白鷹

主題:
switch
有一天白鷹問黑鷹一個問題
白鷹:黑鷹~黑鷹!我問你喔,如果我
禮拜一吃肉
禮拜二喝湯
禮拜三獵食
禮拜四睡覺
禮拜五喝茶
禮拜六去玩
禮拜日飛翔
,這樣要你會怎麼下CODE(PHP)

黑鷹:這樣阿!
那就這樣阿

<?php
//date是PHP時間函數,以後有機會可以介紹,或者哪位大神要幫忙介紹
$day = date('N');
if($day ==1 ){
    echo "吃肉";
}else if($day == 2){
    echo "喝湯";
}else if($day == 3){
    echo "獵食";
}else if($day == 4){
    echo "睡覺";
}else if($day == 5){
    echo "喝茶";
}else if($day == 6){
    echo "去玩";
}else{
    echo "飛翔";
}
?>

白鷹:不過黑鷹,最近我有學到新的東西,我寫給你看.

<?php
$day = date('N');
switch ($day)
{
    case 1:
        echo "吃肉";
    break;
    case 2:
       echo "喝湯";
    break;
    case 3:
       echo "獵食";
    break;
    case 4:
       echo "睡覺";
    break;
    case 5:
       echo "喝茶";
     break;
    case 6:
       echo "去玩";
    break;
    default:
       echo "飛翔";
}
?>

黑鷹:白鷹這個是什麼!結果一樣耶~~!

白鷹:這樣寫比較精簡好看,這種是多選項判斷,當過多攏長的if....else判斷就可以這樣寫了!

黑鷹:今天禮拜五耶!
疑惑
白鷹:那喝茶去~~!
飛


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
海綿寶寶
iT邦大神 1 級 ‧ 2014-02-21 15:43:11

php 的 switch 比 c 好用
因為可以 case 字串
讚

哀!這也是PHP不嚴謹的地方~~!

chingfeng提到:
哀!這也是PHP不嚴謹的地方~~!

不會呀
我覺得很好耶

大概是我php太遜了
臉紅

賽門 iT邦超人 1 級 ‧ 2014-02-21 16:11:21 檢舉

嚴不嚴謹要看程式設計師...
再嚴謹的語言,遇到不良份子,還是會搞得亂七八糟...

0
player
iT邦大師 1 級 ‧ 2014-02-21 22:16:39
&lt;pre class="c" name="code">
    &lt;?php  
    $day = date('N');  
    $data = array("飛翔", "吃肉", "喝湯", "獵食", "睡覺", "喝茶", "去玩");
    if (count($data) &lt; $day) {
        echo $data[$day];
    } else {
        echo $data[0];
    }
    ?>  
player iT邦大師 1 級 ‧ 2014-02-22 10:47:30 檢舉

因為date('N')是傳回1到7, 1為周一, 7為周日
如果改用date('w')則是是傳回0到6, 0為周日, 6為周六
所以就連if都可以省了

&lt;pre class="c" name="code">
&lt;?php    
$day = date('w');    
$data = array("飛翔", "吃肉", "喝湯", "獵食", "睡覺", "喝茶", "去玩");  
echo $data[$day];  
?>  
0
weiclin
iT邦高手 4 級 ‧ 2014-02-22 10:09:22

老闆! break是做啥用的? 為啥每行case都要加? 疑惑

工作原理:
對表達式(通常是變數)進行一次計算
把表達式的值與結構中case 的值進行比較
如果存在匹配,則執行與case 關聯的程式
程式執行後,break 語句阻止程式跳入下一個case 中繼續執行
如果沒有case 為真,則使用default 語句
某網解釋汗

我要留言

立即登入留言