第十一课:条件控制语句
你一定遇到过这样的情况:某个论坛上有人提供了一个很有用的软件,你迫不及待的点击链接准备下载,结果出现的页面是“您还不是本站注册会员或未登录,不能下载本站资源。”,你花了几分钟注册后再点击链接,嘿,真的能下载了。是的,对于不同的用户网站会返回不同的结果,这就是条件控制。
那么程序到底是怎么控制的呢?看下面的例子11-1:
<?
php
$level
=
1
;
//
某个会员的级别
//如果级别小于2,则
if
(
$level
<
2
){
echo
'
对不起,您还不是本站注册会员或未登录或会员级别不够,不能下载本站资源。
'
;
}
//
如果级别大于或等于2,则
if
(
$level
>
=
2
){
echo
'
请点击下载资源http://www.phpNet.cn
'
;
}
?>
上面的代码用到了if语句,if语句是所有语言中最重要的语句之一,它允许进行条件判断,再决定执行相应的程序段(花括号中的代码)。请你将代码中$level的值改成其它的值(比如3)试试看,输出的内容一样吗?
if 语句
if ( expr )
statement
上面的代码将判断括号中表达式的值是否为真,如果为真,PHP会执行该语句;如果为假,那么PHP将会跳过该语句。
if...else 语句
当条件为真时执行if后面的语句,当条件为假时执行else后面的语句。比如上面的代码可以这样写11-2:
<?
php
$level
=
1
;
//
某个会员的级别
//如果级别小于2,则
if
(
$level
<
2
){
echo
'
对不起,您还不是本站注册会员或未登录或会员级别不够,不能下载本站资源。
'
;
}
else
{
echo
'
请点击下载资源http://www.phpNet.cn
'
;
}
?>
elseif 语句
正如名字所暗示的,elseif是if和else的组合,它扩展了对if语句假的再处理,将已经为假的条件再进行一次判断,并根据判断的结果进行处理。例如11-3:
<?
php
$a
=
5
;
$b
=
3
;
if
(
$a
>
$b
) {
echo
'
a比b大。
'
;
}
elseif
(
$a
<
$b
){
echo
'
a比b小。
'
;
}
else
{
echo
'
a等于b。
'
;
}
?>
上面代码的意思是:如果a大于b,则输出“a比b大。”,其余的如果a小于b,则输出“a小于b。”,其余的输出“a等于b”。
替代语法:
在上面的例子中,我们把符合条件的要执行的语句都放在花括号内({ }),如果你不习惯这样的写法,可以采用替代语法来写:把花括号换成冒号,在最后用endif结束。例如11-3的代码可以这样来写11-4:
<?
php
$a
=
5
;
$b
=
3
;
if
(
$a
>
$b
)
:
echo
'
a比b大。
'
;
elseif
(
$a
<
$b
)
:
echo
'
a比b小。
'
;
else
:
echo
'
a等于b。
'
;
endif
;
?>
下
面出一个练习来结束本课,有什么问题发贴提出:
在我们网站内有一个会员,他的用户名是:phpNet,密码是:aaa999。现在会员登录时输入的用户名我们赋值给变量 $userName,输入的密码我们赋值给变量 $password,如果输入与上面的用户名,密码相符则显示“欢迎你回来 phpNet”,如果不相符则显示“用户名或密码错误,请重新输入。”字样。你知道这段代码怎么写吗?
补充一点:
比较运算符 比较运算符,如同它们名称所暗示的,允许你对两个值进行比较。
表: 比较运算符
第十一课:条件控制语句
你一定遇到过这样的情况:某个论坛上有人提供了一个很有用的软件,你迫不及待的点击链接准备下载,结果出现的页面是“您还不是本站注册会员或未登录,不能下载本站资源。”,你花了几分钟注册后再点击链接,嘿,真的能下载了。是的,对于不同的用户网站会返回不同的结果,这就是条件控制。
那么程序到底是怎么控制的呢?看下面的例子11-1:




















if 语句
if ( expr )
statement
上面的代码将判断括号中表达式的值是否为真,如果为真,PHP会执行该语句;如果为假,那么PHP将会跳过该语句。
if...else 语句
当条件为真时执行if后面的语句,当条件为假时执行else后面的语句。比如上面的代码可以这样写11-2:

















正如名字所暗示的,elseif是if和else的组合,它扩展了对if语句假的再处理,将已经为假的条件再进行一次判断,并根据判断的结果进行处理。例如11-3:




















替代语法:
在上面的例子中,我们把符合条件的要执行的语句都放在花括号内({ }),如果你不习惯这样的写法,可以采用替代语法来写:把花括号换成冒号,在最后用endif结束。例如11-3的代码可以这样来写11-4:















在我们网站内有一个会员,他的用户名是:phpNet,密码是:aaa999。现在会员登录时输入的用户名我们赋值给变量 $userName,输入的密码我们赋值给变量 $password,如果输入与上面的用户名,密码相符则显示“欢迎你回来 phpNet”,如果不相符则显示“用户名或密码错误,请重新输入。”字样。你知道这段代码怎么写吗?
补充一点:
比较运算符 比较运算符,如同它们名称所暗示的,允许你对两个值进行比较。
表: 比较运算符
$a == $b | 等于 | TRUE,如果 $a 等于 $b。 |
$a === $b | 全等 | TRUE,如果 $a 等于 $b,并且它们的类型也相同。(PHP 4 only) |
$a != $b | 不等 | TRUE,如果 $a 不等于 $b。 |
$a <> $b | 不等 | TRUE,如果 $a 不等于 $b。 |
$a !== $b | 非全等 | TRUE,如果 $a 不等于 $b,或者它们的类型不同。(PHP 4 only) |
$a < $b | 小与 | TRUE,如果 $a 严格小于 $b。 |
$a > $b | 大于 | TRUE,如果 $a 严格 $b。 |
$a <= $b | 小于等于 | TRUE,如果 $a 小于或者等于 $b。 |
$a >= $b | 大于等于 | TRUE,如果 $a 大于或者等于 $b。 |