Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > by-pkgid > 05cd670d8a02b2b4a0ffb1756f2e8308 > files > 10671

php-manual-zh-5.2.4-1mdv2008.1.noarch.rpm

<!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="langref.html"><LINK
REL="NEXT"
TITLE="指令分隔符"
HREF="language.basic-syntax.instruction-separation.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="langref.html"
ACCESSKEY="P"
>上一页</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="language.basic-syntax.instruction-separation.html"
ACCESSKEY="N"
>下一页</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="chapter"
><H1
><A
NAME="language.basic-syntax"
>章 10. 基本语法</A
></H1
><DIV
CLASS="TOC"
><DL
><DT
><B
>目录</B
></DT
><DT
><A
HREF="language.basic-syntax.html#language.basic-syntax.phpmode"
>从 HTML 中分离</A
></DT
><DT
><A
HREF="language.basic-syntax.instruction-separation.html"
>指令分隔符</A
></DT
><DT
><A
HREF="language.basic-syntax.comments.html"
>注释</A
></DT
></DL
></DIV
><DIV
CLASS="sect1"
><H1
CLASS="sect1"
><A
NAME="language.basic-syntax.phpmode"
>从 HTML 中分离</A
></H1
><P
>&#13;   当 PHP 解析一个文件时,会寻找开始和结束标记,标记告诉
   PHP 开始和停止解释其中的代码。此种方式的解析可以使
   PHP 嵌入到各种不同的文档中,凡是在一对开始和结束标记之外的内容都会被
   PHP 解析器忽略。大多数情况下 PHP 都是嵌入在 HTML 文档中的,如下例所示。
   <DIV
CLASS="informalexample"
><P
></P
><A
NAME="AEN2640"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><code><font color="#000000">
&lt;p&gt;This is going to be ignored.&lt;/p&gt;<br /><font color="#0000BB">&lt;?php </font><font color="#007700">echo </font><font color="#DD0000">'While this is going to be parsed.'</font><font color="#007700">; </font><font color="#0000BB">?&gt;<br /></font>&lt;p&gt;This will also be ignored.&lt;/p&gt;</font>
</code></TD
></TR
></TABLE
><P
></P
></DIV
>
  </P
><P
>&#13;   还可以用更高级的结构:
   <TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
CLASS="EXAMPLE"
><TR
><TD
><DIV
CLASS="example"
><A
NAME="AEN2643"
></A
><P
><B
>例 10-1. 高级分离术</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><code><font color="#000000">
<font color="#0000BB">&lt;?php<br /></font><font color="#007700">if (</font><font color="#0000BB">$expression</font><font color="#007700">) {<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">?&gt;<br /></font>&nbsp;&nbsp;&nbsp;&nbsp;&lt;strong&gt;This is true.&lt;/strong&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000BB">&lt;?php<br /></font><font color="#007700">} else {<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">?&gt;<br /></font>&nbsp;&nbsp;&nbsp;&nbsp;&lt;strong&gt;This is false.&lt;/strong&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000BB">&lt;?php<br /></font><font color="#007700">}<br /></font><font color="#0000BB">?&gt;</font>
</font>
</code></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
>
   上例可正常工作,因为当 PHP 碰到结束标记 ?&#62;
   时,就简单地将其后的内容原样输出直到碰到下一个开始标记为止。当然,上面的例子很做作,但是对输出大块的文本而言,脱离
   PHP 解析模式通常比将所有内容用 <A
HREF="function.echo.html"
><B
CLASS="function"
>echo()</B
></A
>
   或者 <A
HREF="function.print.html"
><B
CLASS="function"
>print()</B
></A
> 输出更有效率。
  </P
><P
>&#13;   可以在 PHP 中使用四对不同的开始和结束标记。其中两种,&#60;?php ?&#62;
   和 &#60;script language="php"&#62; &#60;/script&#62; 总是可用的。另两种是短标记和
   <SPAN
CLASS="productname"
>ASP</SPAN
> 风格标记,可以在 <TT
CLASS="filename"
>php.ini</TT
>
   配置文件中打开或关闭。尽管有些人觉得短标记和
   <SPAN
CLASS="productname"
>ASP</SPAN
> 风格标记很方便,但移植性较差,通常不推荐。
   <DIV
CLASS="note"
><BLOCKQUOTE
CLASS="note"
><P
><B
>注意: </B
>
     此外注意如果将 PHP 嵌入到 XML 或 XHTML
     中则需要使用 &#60;?php ?&#62; 以保持符合标准。
    </P
></BLOCKQUOTE
></DIV
>
  </P
><P
>&#13;   <TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
CLASS="EXAMPLE"
><TR
><TD
><DIV
CLASS="example"
><A
NAME="AEN2655"
></A
><P
><B
>例 10-2. PHP 开始和结束标记</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><code><font color="#000000">
1.&nbsp;&nbsp;<font color="#0000BB">&lt;?php </font><font color="#007700">echo </font><font color="#DD0000">'if you want to serve XHTML or XML documents, do like this'</font><font color="#007700">; </font><font color="#0000BB">?&gt;<br /></font><br />2.&nbsp;&nbsp;<font color="#0000BB">&lt;script language="php"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#007700">echo </font><font color="#DD0000">'some editors (like FrontPage) don\'t<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;like processing instructions'</font><font color="#007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">&lt;/script&gt;<br /></font><br />3.&nbsp;&nbsp;<font color="#0000BB">&lt;? </font><font color="#007700">echo </font><font color="#DD0000">'this is the simplest, an SGML processing instruction'</font><font color="#007700">; </font><font color="#0000BB">?&gt;<br /></font>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000BB">&lt;?= expression ?&gt;</font> This is a shortcut for "<font color="#0000BB">&lt;? </font><font color="#007700">echo </font><font color="#0000BB">expression ?&gt;</font>"<br /><br />4.&nbsp;&nbsp;&lt;% echo 'You may optionally use ASP-style tags'; %&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;%= $variable; # This is a shortcut for "&lt;% echo . . ." %&gt;</font>
</code></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
>
  </P
><P
>&#13;   上例中的 1 和 2 总是可用的,其中 1 是最常用,并建议使用的。
  </P
><P
>&#13;   短标记(上例 3)仅在通过 <TT
CLASS="filename"
>php.ini</TT
> 配置文件中的指令
   <A
HREF="ini.core.html#ini.short-open-tag"
>short_open_tag</A
>
   打开后才可用,或者在 PHP 编译时加入了
   <CODE
CLASS="option"
>--enable-short-tags</CODE
> 选项。
   <DIV
CLASS="note"
><BLOCKQUOTE
CLASS="note"
><P
><B
>注意: </B
>
     如果用 PHP 3 还可以通过 <B
CLASS="function"
>short_tags()</B
>
     函数激活使用短标记。<SPAN
CLASS="emphasis"
><I
CLASS="emphasis"
>此方法只适用于 PHP 3!</I
></SPAN
>
    </P
></BLOCKQUOTE
></DIV
>
  </P
><P
>&#13;   <SPAN
CLASS="productname"
>ASP</SPAN
> 风格标记(上例 4)仅在通过 <TT
CLASS="filename"
>php.ini</TT
>
   配置文件中的指令
   <A
HREF="ini.core.html#ini.asp-tags"
>asp_tags</A
> 打开后才可用。
   <DIV
CLASS="note"
><BLOCKQUOTE
CLASS="note"
><P
><B
>注意: </B
>
     对 <SPAN
CLASS="productname"
>ASP</SPAN
> 风格标记的支持是 3.0.4 版添加的。
    </P
></BLOCKQUOTE
></DIV
>
  </P
><DIV
CLASS="note"
><BLOCKQUOTE
CLASS="note"
><P
><B
>注意: </B
>
    在以下情况应避免使用短标记:开发需要发行的程序或者库,或者在用户不能控制的服务器上开发。因为目标服务器可能不支持短标记。为了代码的移植及发行,确保不要使用短标记。
   </P
></BLOCKQUOTE
></DIV
></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="langref.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="language.basic-syntax.instruction-separation.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"
>指令分隔符</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>