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值的不同分别赋予它相应的操作。怎么样,是不是比大家想象中要简单很多?