在php中条件语句主要用到if else与if elseif及swicth case之类的语句了,这两语句是用到最多的,下面我来给大家普通一下。
一、if…else语句
if...else 语句
在条件成立时执行一块代码,条件不成立时执行另一块代码
语法:
1、简单条件
- if(条件){
- ……
- }
- else{
- ……
- }
例,代码如下:
- <?php
- if (date("D") == "Sat") echo " http://www.phpfensi.com提醒你周末了,狂欢去";
- ?>
范例:本例的执行部分有三行,不可省略大括号,代码如下:
- <?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.phpfensi.com</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值的不同分别赋予它相应的操作,怎么样,是不是比大家想象中要简单很多. |