比起 switch , iZO還是比較喜歡 if 的判斷式阿,可以同時進行不用變數的判斷,要混和html的格式去寫也是輕而易舉的一件事情,switch果然還是只適合在單一項目的判斷上呢!而且if 的寫法十分的多樣,彈性自由度相對提高很多。
跟swith一樣,使用相同的表單來說明
<form action="" method="post"> 中餐吃:<select name="item"> <option value="1">便當</option> <option value="2">魷魚羹</option> <option value="3">牛排</option> </select> <input type="submit" name="Submit" value="決定"> </form> <?php if($_POST["item"]=="1"){ echo "中午吃便當"; }else if($_POST["item"]=="2"){ echo "中午吃魷魚羹"; }else if($_POST["item"]=="3"){ echo "中午吃牛排"; }else if($_POST["item"]==NULL){ echo "不想吃東西"; } ?>
if的等式判斷:
== 相同
!= 不相同
==NULL 空白
如果將 else if($_POST[“item”]==NULL 改成 else 彈性將大大增加
<?php if($_POST["item"]=="1"){ echo "中午吃便當"; }else if($_POST["item"]=="2"){ echo "中午吃魷魚羹"; }else if($_POST["item"]=="3"){ echo "中午吃牛排"; }else{ echo "不想吃東西"; } ?>
或是運用 isset (存在) ,在更多判斷式時,可以減少不少的文字
<?php if(isset($_POST["item"])){ echo "中午吃"; } if($_POST["item"]=="1"){ echo "便當"; }else if($_POST["item"]=="2"){ echo "魷魚羹"; }else if($_POST["item"]=="3"){ echo "牛排"; } ?>
或是用 槽狀方式減少PHP判斷的壓力
<?php if(isset($_POST["item"])){ echo "中午吃"; if($_POST["item"]=="1"){ echo "便當"; }else if($_POST["item"]=="2"){ echo "魷魚羹"; }else if($_POST["item"]=="3"){ echo "牛排"; } } ?>