連載終於突破了 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判斷就可以這樣寫了!
黑鷹:今天禮拜五耶!
白鷹:那喝茶去~~!
php 的 switch 比 c 好用
因為可以 case 字串
哀!這也是PHP不嚴謹的地方~~!
chingfeng提到:
哀!這也是PHP不嚴謹的地方~~!
不會呀
我覺得很好耶
大概是我php太遜了
嚴不嚴謹要看程式設計師...
再嚴謹的語言,遇到不良份子,還是會搞得亂七八糟...
<pre class="c" name="code">
<?php
$day = date('N');
$data = array("飛翔", "吃肉", "喝湯", "獵食", "睡覺", "喝茶", "去玩");
if (count($data) < $day) {
echo $data[$day];
} else {
echo $data[0];
}
?>
因為date('N')是傳回1到7, 1為周一, 7為周日
如果改用date('w')則是是傳回0到6, 0為周日, 6為周六
所以就連if都可以省了
<pre class="c" name="code">
<?php
$day = date('w');
$data = array("飛翔", "吃肉", "喝湯", "獵食", "睡覺", "喝茶", "去玩");
echo $data[$day];
?>
老闆! break是做啥用的? 為啥每行case都要加?
工作原理:
對表達式(通常是變數)進行一次計算
把表達式的值與結構中case 的值進行比較
如果存在匹配,則執行與case 關聯的程式
程式執行後,break 語句阻止程式跳入下一個case 中繼續執行
如果沒有case 為真,則使用default 語句
某網解釋