PHP条件语句if else/switch语法
PHP条件语句if else/switch语法
一、if…else语句if...else 语句
在条件成立时执行一块代码,条件不成立时执行另一块代码
语法:
1、简单条件
if(条件){
……
}
else{
……
}
例
代码如下 | |
<?php if (date("D") == "Sat") echo " http://www.3lian.net提醒你周末了,狂欢去"; ?> |
范例:本例的执行部分有三行,不可省略大括号。
代码如下 | |
<?php if (file_exists("/usr/local/lib/php3.ini")) { echo "以下是 PHP3 的配置文件<p><pre>n"; readfile("/usr/local/lib/php3.ini"); echo "</pre>n"; } ?> |
2、复杂条件
elseif 语句
与 if...else 配合使用,在若干条件之一成立时执行一个代码块
if(条件){
……
}
elseif(条件){
……
}
else{
……
}
例
范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。
代码如下 | |
<?php $f="/usr/local/lib/php3.ini"; if (file_exists($f)) { echo "以下是 PHP3 的配置文件<p><pre>n"; readfile($f); echo "</pre>n"; } else echo "很抱歉,找不到 $f"; ?> |
--------------------------------------------------------------------------------
第三种就是递归的 if..else 循环,通常用在多种决策判断时。它将数个 if..else 拿来合并运用处理。
直接看下面的例子
代码如下 | |
<?php if ($a > $b) { echo "a 比 b 大"; } elseif ($a == $b) { echo "a 等于 b"; } else { echo "a 比 b 小"; } ?> |
上例只用二层的 if..else 循环,用来比较 a 和 b 两个变量。实际要使用这种递归 if..else 循环时,请小心使用,因为太多层的循环容易使设计的逻辑出问题,或者少打了大括号等,都会造成程序出现莫名其妙的问题
二、Switch语句
1 语法:
switch(表达式){
case 值1:
语句
break;
case 值2:
语句
break;
default:
没有匹配的值时执行的语句
}
工作原理:
1.对表达式(通常是变量)进行一次计算
2.把表达式的值与结构中 case 的值进行比较
3.如果存在匹配,则执行与 case 关联的代码
4.代码执行后,break 语句阻止代码跳入下一个 case 中继续执行
5.如果没有 case 为真,则使用 default 语句
例
代码如下 | |
<?php switch ($d=date("D")) { case "Mon"; echo "周一"; break; case "Tue"; echo "周二"; break; case "Wed"; echo "周三"; break; case "Thu"; echo "周四"; break; case "Fir"; echo "周五"; break; case "Sat"; echo "周六"; break; case "Sun"; echo "周日"; break; } ?> |
另外一个实例,利用switch实现一个页面多用途,首先建立test.php页面:
代码如下 | |
<?php echo "<a href='solution.php?action=add'>增加www.111cn.net</a><br><br>"; echo "<a href='solution.php?action=del'>删除</a><br><br>"; echo "<a href='solution.php?action=search'>查找</a><br><br>"; echo "<a href='solution.php?action=update'>更新</a>"; ?> |
接着,让我们看看solution.php是如何处理这四种操作的。
代码如下 | |
<?php $action=$_GET["action"]; switch ($action) { case "add": echo "现在可以实现增加功能!"; break; case "del": echo "现在可以实现删除功能!"; break; case "search": echo "现在可以实现查询功能!"; break; case "update": echo "现在可以实现更新功能!"; break; } ?> |
很简单,我们首先接收到action的值,运用switch语句根据action值的不同分别赋予它相应的操作。怎么样,是不是比大家想象中要简单很多?