<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >控制结构</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="PHP 手册" HREF="index.html"><LINK REL="UP" TITLE="语言参考" HREF="langref.html"><LINK REL="PREVIOUS" TITLE="类型运算符" HREF="language.operators.type.html"><LINK REL="NEXT" TITLE="else" HREF="control-structures.else.html"><META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=UTF-8"></HEAD ><BODY CLASS="chapter" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >PHP 手册</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="language.operators.type.html" ACCESSKEY="P" >上一页</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="control-structures.else.html" ACCESSKEY="N" >下一页</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="chapter" ><H1 ><A NAME="language.control-structures" >章 16. 控制结构</A ></H1 ><DIV CLASS="TOC" ><DL ><DT ><B >目录</B ></DT ><DT ><A HREF="language.control-structures.html#control-structures.if" ><TT CLASS="literal" >if</TT ></A ></DT ><DT ><A HREF="control-structures.else.html" ><TT CLASS="literal" >else</TT ></A ></DT ><DT ><A HREF="control-structures.elseif.html" ><TT CLASS="literal" >elseif</TT ></A ></DT ><DT ><A HREF="control-structures.alternative-syntax.html" >流程控制的替代语法</A ></DT ><DT ><A HREF="control-structures.while.html" ><TT CLASS="literal" >while</TT ></A ></DT ><DT ><A HREF="control-structures.do.while.html" ><TT CLASS="literal" >do-while</TT ></A ></DT ><DT ><A HREF="control-structures.for.html" ><TT CLASS="literal" >for</TT ></A ></DT ><DT ><A HREF="control-structures.foreach.html" ><TT CLASS="literal" >foreach</TT ></A ></DT ><DT ><A HREF="control-structures.break.html" ><TT CLASS="literal" >break</TT ></A ></DT ><DT ><A HREF="control-structures.continue.html" ><TT CLASS="literal" >continue</TT ></A ></DT ><DT ><A HREF="control-structures.switch.html" ><TT CLASS="literal" >switch</TT ></A ></DT ><DT ><A HREF="control-structures.declare.html" ><TT CLASS="literal" >declare</TT ></A ></DT ><DT ><A HREF="function.return.html" >return</A ></DT ><DT ><A HREF="function.require.html" ><A HREF="function.require.html" ><B CLASS="function" >require()</B ></A ></A ></DT ><DT ><A HREF="function.include.html" ><A HREF="function.include.html" ><B CLASS="function" >include()</B ></A ></A ></DT ><DT ><A HREF="function.require-once.html" ><A HREF="function.require-once.html" ><B CLASS="function" >require_once()</B ></A ></A ></DT ><DT ><A HREF="function.include-once.html" ><A HREF="function.include-once.html" ><B CLASS="function" >include_once()</B ></A ></A ></DT ></DL ></DIV ><P > 任何 PHP 脚本都是由一系列语句构成的。一条语句可以是一个赋值语句,一个函数调用,一个循环,一个条件语句或者甚至是一个什么也不做的语句(空语句)。语句通常以分号结束。此外,还可以用花括号将一组语句封装成一个语句组。语句组本身可以当作是一行语句。本章讲述了各种语句类型。 </P ><DIV CLASS="sect1" ><H1 CLASS="sect1" ><A NAME="control-structures.if" ><TT CLASS="literal" >if</TT ></A ></H1 ><P > <TT CLASS="literal" >if</TT > 结构是很多语言包括 PHP 在内最重要的特性之一,它允许按照条件执行代码片段。PHP 的 <TT CLASS="literal" >if</TT > 结构和 C 语言相似: <DIV CLASS="informalexample" ><P ></P ><A NAME="AEN4641" ></A ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><PRE CLASS="programlisting" ><?php if (expr) statement ?></PRE ></TD ></TR ></TABLE ><P ></P ></DIV > </P ><P > 如同在<A HREF="language.expressions.html" >表达式</A >一章中定义的,<TT CLASS="replaceable" ><I >expr</I ></TT > 按照布尔求值。如果 <TT CLASS="replaceable" ><I >expr</I ></TT > 的值为 <TT CLASS="constant" ><B >TRUE</B ></TT >,PHP 将执行 <TT CLASS="replaceable" ><I >statement</I ></TT >,如果值为 <TT CLASS="constant" ><B >FALSE</B ></TT > - 将忽略 <TT CLASS="replaceable" ><I >statement</I ></TT >。有关哪些值被视为 <TT CLASS="constant" ><B >FALSE</B ></TT > 的更多信息参见<A HREF="language.types.boolean.html#language.types.boolean.casting" >转换为布尔值</A >一节。 </P ><P > 如果 <CODE CLASS="varname" >$a</CODE > 大于 <CODE CLASS="varname" >$b</CODE >,则以下例子将显示 <SAMP CLASS="computeroutput" >a is bigger than b</SAMP >: <DIV CLASS="informalexample" ><P ></P ><A NAME="AEN4657" ></A ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><code><font color="#000000"> <font color="#0000BB"><?php<br /></font><font color="#007700">if (</font><font color="#0000BB">$a </font><font color="#007700">> </font><font color="#0000BB">$b</font><font color="#007700">)<br /> echo </font><font color="#DD0000">"a is bigger than b"</font><font color="#007700">;<br /></font><font color="#0000BB">?></font> </font> </code></TD ></TR ></TABLE ><P ></P ></DIV > </P ><P > 经常需要按照条件执行不止一条语句,当然并不需要给每条语句都加上一个 <TT CLASS="literal" >if</TT > 子句。可以将这些语句放入语句组中。例如,如果 <CODE CLASS="varname" >$a</CODE > 大于 <CODE CLASS="varname" >$b</CODE >,以下代码将显示 <SAMP CLASS="computeroutput" >a is bigger than b</SAMP > 并且将 <CODE CLASS="varname" >$a</CODE > 的值赋给 <CODE CLASS="varname" >$b</CODE >: <DIV CLASS="informalexample" ><P ></P ><A NAME="AEN4666" ></A ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><code><font color="#000000"> <font color="#0000BB"><?php<br /></font><font color="#007700">if (</font><font color="#0000BB">$a </font><font color="#007700">> </font><font color="#0000BB">$b</font><font color="#007700">) {<br /> echo </font><font color="#DD0000">"a is bigger than b"</font><font color="#007700">;<br /> </font><font color="#0000BB">$b </font><font color="#007700">= </font><font color="#0000BB">$a</font><font color="#007700">;<br />}<br /></font><font color="#0000BB">?></font> </font> </code></TD ></TR ></TABLE ><P ></P ></DIV > </P ><P > <TT CLASS="literal" >if</TT > 语句可以无限层地嵌套在其它 <TT CLASS="literal" >if</TT > 语句中,这给程序的不同部分的条件执行提供了充分的弹性。 </P ></DIV ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="language.operators.type.html" ACCESSKEY="P" >上一页</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >起始页</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="control-structures.else.html" ACCESSKEY="N" >下一页</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >类型运算符</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="langref.html" ACCESSKEY="U" >上一级</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><TT CLASS="literal" >else</TT ></TD ></TR ></TABLE ></DIV ></BODY ></HTML >