Home > php教程 > php手册 > PHP新手之学习基本语法

PHP新手之学习基本语法

WBOY
Release: 2016-06-13 11:13:54
Original
912 people have browsed it

PHP,是英文超级文本预处理语言Hypertext Preprocessor的缩写。PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛的运用。

从 HTML 中分离

当 PHP 解析一个文件时,会寻找开始和结束标记,标记告诉 PHP 开始和停止解释其中的代码。此种方式的解析可以使 PHP 嵌入到各种不同的文档中,凡是在一对开始和结束标记之外的内容都会被 PHP 解析器忽略。大多数情况下 PHP 都是嵌入在 HTML 文档中的,如下例所示。

<ol class="dp-c">
<li class="alt"><span><span><p>This is going to be ignored.</p>  </span></span></li>
<li><span><?php  </span><span class="func">echo</span><span> </span><span class="string">'While this is going to be parsed.'</span><span>; ?>  </span></span></li>
<li class="alt"><span><p>This will also be ignored.</p> </span></li>
</ol>
Copy after login

还可以用更高级的结构:

Example#1 高级分离术

<ol class="dp-c">
<li class="alt"><span><span><?php  </span></span></span></li>
<li>
<span class="keyword">if</span><span> (</span><span class="vars">$expression</span><span>) {  </span>
</li>
<li class="alt"><span>?>  </span></li>
<li><span><strong>This is true.</strong>  </span></li>
<li class="alt"><span><?php  </span></span></li>
<li>
<span>} </span><span class="keyword">else</span><span> {  </span>
</li>
<li class="alt"><span>?>  </span></li>
<li><span><strong>This is false.</strong>  </span></li>
<li class="alt"><span><?php  </span></span></li>
<li><span>}  </span></li>
<li class="alt"><span>?> </span></li>
</ol>
Copy after login

上例可正常工作,因为当 PHP 碰到结束标记 ?> 时,就简单地将其后的内容原样输出直到碰到下一个开始标记为止。当然,上面的例子很做作,但是对输出大块的文本而言,脱离 PHP 解析模式通常比将所有内容用 echo() 或者 print() 输出更有效率。

可以在 PHP 中使用四对不同的开始和结束标记。其中两种,

<ol class="dp-c"><li class="alt"><span><span><?php  ?>  </span></span></li></ol>
Copy after login

<ol class="dp-c"><li class="alt"><span><span><script><span class="string">"php"</script></span><span>>  </span></span></li></ol>
Copy after login

总是可用的。另两种是短标记和 ASP 风格标记,可以在 php.ini 配置文件中打开或关闭。尽管有些人觉得短标记和 ASP 风格标记很方便,但移植性较差,通常不推荐。

Note: 此外注意如果将 PHP 嵌入到 XML 或 XHTML 中则需要使用 以保持符合标准。

Example#2 PHP 开始和结束标记

<ol class="dp-c">
<li class="alt"><span><span><?php  </span><span class="func">echo</span><span> </span><span class="string">'if you want to serve XHTML or XML documents, do like this'</span><span>; ?>  </span></span></span></li>
<li>
<span><script><span class="string">"php"</script></span><span>>  </span>
</li>
<li class="alt">
<span class="func">echo</span><span> </span><span class="string">'some editors (like FrontPage) don'</span><span>t  </span>
</li>
<li><span>like processing instructions';  </span></li>
<li class="alt"><span>  </span></li>
<li>
<span> </span><span class="func">echo</span><span> </span><span class="string">'this is the simplest, an SGML processing instruction'</span><span>; ?>  </span>
</li>
<li class="alt">
<span>= expression ?> This is a shortcut </span><span class="keyword">for</span><span> </span><span class="string">" echo expression ?>"</span><span> </span>
</li>
<li><span><span class="func">echo</span><span> </span><span class="string">'You may optionally use ASP-style tags'</span><span>; %>  </span></span></li>
<li class="alt"><span><span class="vars">$variable</span><span>; # This is a shortcut </span><span class="keyword">for</span><span> </span><span class="string">"<span> %> </span></span></span></li>
</ol>
Copy after login

上例中的 1 和 2 总是可用的,其中 1 是最常用,并建议使用的。

短标记(上例 3)仅在通过 php.ini 配置文件中的指令 short_open_tag 打开后才可用,或者在 PHP 编译时加入了 --enable-short-tags 选项。

Note: 如果用 PHP 3 还可以通过 short_tags() 函数激活使用短标记。此方法只适用于 PHP 3!

ASP 风格标记(上例 4)仅在通过 php.ini 配置文件中的指令 asp_tags 打开后才可用。

Note: 对 ASP 风格标记的支持是 3.0.4 版添加的。

Note: 在以下情况应避免使用短标记:开发需要发行的程序或者库,或者在用户不能控制的服务器上开发。因为目标服务器可能不支持短标记。为了代码的移植及发行,确保不要使用短标记。

指令分隔符

同 C 或 Perl 一样,PHP 需要在每个语句后用分号结束指令。一段 PHP 代码中的结束标记隐含表示了一个分号;在一个 PHP 代码段中的最后一行可以不用分号结束。如果后面还有新行,则代码段的结束标记包含了行结束。

<ol class="dp-c">
<li class="alt"><span><span><?php  </span></span></span></li>
<li>
<span class="func">echo</span><span> </span><span class="string">"This is a test"</span><span>;  </span>
</li>
<li class="alt"><span>?>  </span></li>
<li><span><?php  </span><span class="func">echo</span><span> </span><span class="string">"This is a test"</span><span> ?>  </span></span></li>
<li class="alt"><span><?php  </span><span class="func">echo</span><span> </span><span class="string">'We omitted the last closing tag'</span><span>; </span></span></li>
</ol>
Copy after login

Note: 文件末尾的 PHP 代码段结束标记可以不要,有些情况下当使用 include() 或者 require() 时省略掉会更好些,这样不期望的白空格就不会出现在文件末尾,之后仍然可以输出响应标头。在使用输出缓冲时也很便利,就不会看到由包含文件生成的不期望的白空格。

注释

PHP 支持 C,C++ 和 Unix Shell 风格(Perl 风格)的注释。例如:

<ol class="dp-c">
<li class="alt"><span><span><?php  </span></span></span></li>
<li>
<span class="func">echo</span><span> </span><span class="string">"This is a test"</span><span>; </span><span class="comment">// This is a one-line c++ style comment </span><span> </span>
</li>
<li class="alt">
<span class="comment">/* This is a multi line comment </span> </li>
<li><span><span class="comment">yet another line of comment */</span><span> </span></span></li>
<li class="alt">
<span class="func">echo</span><span> </span><span class="string">"This is yet another test"</span><span>;  </span>
</li>
<li>
<span class="func">echo</span><span> </span><span class="string">'One Final Test'</span><span>; # This is a one-line shell-style comment  </span>
</li>
<li class="alt"><span>?> </span></li>
</ol>
Copy after login

单行注释仅仅注释到行末或者当前的 PHP 代码块,视乎哪个首先出现。这意味着在 // ... ?> 或者 # ... ?> 之后的 HTML 代码将被显示出来:?> 跳出了 PHP 模式并返回了 HTML 模式,// 或 # 并不能影响到这一点。如果启用了 asp_tags 配置选项,其行为和 // %> 或 # %> 相同。不过, 标记在单行注释中不会跳出 PHP 模式。

<ol class="dp-c">
<li class="alt"><span><span><h1>This is an <?php  # </span><span class="func">echo</span><span> </span><span class="string">"simple"</span><span>;?> example.</span>
</h1>  </span></span></li>
<li>
<span><p>The header above will say </p></span><span class="string">'This is an example'</span><span>. </span>
</li>
</ol>
Copy after login

复制代码C 风格的注释在碰到第一个 */ 时结束。要确保不要嵌套 C 风格的注释。试图注释掉一大块代码时很容易出现该错误。

<ol class="dp-c">
<li class="alt"><span><span><?php  </span></span></span></li>
<li>
<span class="comment">/* </span> </li>
<li class="alt"><span><span class="comment">echo "This is a test"; /* This comment will cause a problem */</span><span> </span></span></li>
<li><span>*/  </span></li>
<li class="alt"><span>?> </span></li>
</ol>
Copy after login

希望通过以上内容的介绍,能够帮助到你。


source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template