Heim  >  Artikel  >  php教程  >  PHP入门基础(一)标记风格、注释、表单获取、字符串类型、变量解析

PHP入门基础(一)标记风格、注释、表单获取、字符串类型、变量解析

WBOY
WBOYOriginal
2016-06-13 10:17:58842Durchsuche

PHP标记风格:

<span //</span><span XML风格<br />//推荐的标记风格,可以在XML文档中使用</span>
<?php <span echo</span> '<p>XML Style</p>'; ?>

<span //</span><span 简短风格&mdash;&mdash;需启用short_open_tag选项,遵循SGML(标准通用置标语言)处理说明</span>
<? <span echo</span> '<p>Short Style</p>'; ?>

<span //</span><span Asp风格&mdash;&mdash;需启用asp_tag选项,默认禁用</span>
<% <span echo</span> '<p>Asp Style</p>'; %>

<span //</span><span Script风格&mdash;&mdash;HTML编辑器无法支持其他标记风格时选用</span>
<script language='php;>echo '<p>Script Style</p>';</script>

 

<span //</span><span 多行注释<br /></span>
<span /* </span><span C风格注释
   C风格注释
   C风格注释
</span><span */</span>
<span //单行注释<br /></span>
<span //</span><span C++风格注释</span>
<span #</span><span Shell脚本风格注释<br /></span>
<span /*</span><span 
  在这里特别要注意的是,
  注释符号(#或//)之后,行结束或PHP结束标记(?>)之前,所有内容都是注释。<br />  如下例,"<span Here is HTML</span>"将被当作是HTML,因为他位于关闭标记之外
</span><span */<br /></span>
<span //</span><span Here is a Comment ?> Here is HTML</span>

 

<span //</span><span Short Style&mdash;&mdash;需启用register_globals选项</span>
<span $Name;</span>

<span //</span><span Medium Style&mdash;&mdash;PHP 4.1.0后支持</span>
<span $_POST</span>['Name'<span ];
</span><span $_GET</span>['Name'<span ];

</span><span //</span><span Long Style&mdash;&mdash;通过register_long_arrays禁用</span>
<span $HTTP_POST_VARS</span>['Name'<span ];
</span><span $HTTP_GET_VARS</span>['Name'];<br /><br /><span //</span><span 三种方法的使用讨论<br /><br />/*Short Style<br /> 表单变量会自动转换成全局变量,有可能会遇到破坏脚本安全性的程序错误<br /> 在使用是应对自己的变量赋予一个初始值<br />*/<br /></span>
<span /*Medium Style<br /> 涉及到从$_POST、$_GET或$_REQUEST数组之一检索变量<br /> 这三个数组被称作是超级全局(superglobal)变量<br /> 选用$<span _POST<span <span 或</span></span>$_GET取决于提交表单的方法(POST or GET),但都可通过<span $_REQUEST</span>['Name']获取数据</span><br />*/</span>
<span /*Long Style<br /> 已经过时,禁用后可以改进性能<br />*/</span>

 

<span //</span><span PHP中一个字符串可以通过下面的4种方式来定义:
<br /><span //</span><span 双引号("")</span> <br /><span echo</span> "Character string"<span ;<br /></span>
//单引号('')</span>
<span echo</span> 'Character String'<span ;<br /><br /></span><span //</span><span heredoc结构(PHP4.0后引进) </span>
<span echo</span> <<<<span EOD
    heredoc
  heredoc
heredoc
</span><span EOD;<br /></span><span <br /><span //</span><span heredoc结构(PHP<span 5.3.0</span>后引进) </span><br />echo</span> <<<"<span EOD"
    heredoc
  heredoc
heredoc
</span><span EOD;<br />
</span><span //</span><span nowdoc<span 结构</span>(PHP5.3.0后引进) </span>
<span echo</span> <<<'EOT'<span 
    nowdoc
  nowdoc
nowdoc
</span>EOT;<br /><br /><span /*用法<br /> 1.单引号<br />  要表达一个单引号自身,需在它的前面加个反斜线(<em>\</em>)来转义,要表达一个反斜线自身,则用两个反斜线(<em>\\</em>)。<br />  其它任何方式的反斜线都会被当成反斜线本身,<br />  例如 <em>\r</em> 或者 <em>\n</em>,并不代表任何特殊含义,就单纯是这两个字符本身。<br /> 2.双引号<br />  <span 双引号定义的字符串最重要的特征是变量会被解析</span><br />  字符串是包围在双引号(")中, PHP将对一些特殊的字符进行解析<br /> 3.Heredoc结构<br />  <<<,在该运算符之后要提供一个标识符(<span 命名遵守PHP规则)</span>,然后换行,<br />  接下来是字符串 string 本身,<br />  最后要用前面定义的标识符作为结束标志。<br />  <br /><span */<br /></span><br /><span /*</span>注意事项<br /> 1.双引号与Heredoc结构是插补的[<span 插补(interpolation)特性:用一个字符串的内容来代替一个变量的操作</span>]<br /> 2.<span 双引号</span>与单引号,Heredoc语法与Nowdoc语法之间的区别和效率问题:<br />  由于双引号/Heredoc语法要进行插补操作,其中的字段会经过编译器的解释,然后再当做HTML代码输出;<br />  而单引号/Nowdoc语法内的字段不会进行解释,直接输出。<br /> 3.Heredoc结构/Nowdoc结构结束时所引用的标识符必须在该行的第一列,<br />  结束标识符这行除了可能有一个分号(;)外,绝对不能包含其它字符,<br />  且分号的前后也不能有任何空白或制表符。<br />  *在Heredoc结构中含有复杂的变量时要格外小心<br /> 4.PHP5.3.0后,Heredoc结构<span 也可用</span>来初始化静态变量和类的属性和常量:<br /></span>
<span //</span><span 静态变量</span>
<span function</span><span  foo(){
    </span><span static</span> <span $bar</span> = <<<<span LABEL
Nothing in here</span>...<span 
LABEL;
}

</span><span //</span><span 类的常量、属性</span>
<span class</span><span  foo{
    </span><span const</span> BAR = <<<<span FOOBAR
</span><span Constant</span><span  example
FOOBAR;
    </span><span public</span> <span $baz</span> = <<<<span FOOBAR
Property example
FOOBAR;
}</span>
<span  5.Nowdoc结构可以用在任意的静态数据环境中,最典型的示例是用来初始化类的属性或常量:<br /></span>
<span class</span><span  foo {
  </span><span public</span> <span $bar</span> = <<<'EOT'<span 
bar
EOT;
}</span>
<span */<br /></span>
<span <span <span /*</span></span>附:转义字符<br />  \n     换行(ASCII 字符集中的 LF 或 0x0A (10))<br />  \r     回车(ASCII 字符集中的 CR 或 0x0D (13))<br />  \t     水平制表符(ASCII 字符集中的 HT 或 0x09 (9))<br />  \v     垂直制表符(ASCII 字符集中的 VT 或 0x0B (11))(自 PHP 5.2.5 起)<br />  \e     Escape(ASCII 字符集中的 ESC 或 0x1B (27))(自 PHP 5.4.0 起)<br />  \f     换页(ASCII 字符集中的 FF 或 0x0C (12))(自 PHP 5.2.5 起)<br />  \\     反斜线<br />  \$     美元标记<br />  \"     双引号<br />  \[0-7]{1,3}     符合该正则表达式序列的是一个以八进制方式来表达的字符<br />  \x[0-9A-Fa-f]{1,2}     符合该正则表达式序列的是一个以十六进制方式来表达的字符<br />*/<br /></span>

 

<span //</span><span 当字符串用双引号或 heredoc结构定义时,其中的变量将会被解析。</span>

<span /*</span><span 简单语法:
    当PHP解析器遇到&ldquo;$&rdquo;时,它会组合尽量多的标识以形成一个合法的变量名
</span><span */</span>
<span /*</span><span 复杂语法:
    像在string以外的地方那样写出表达式,
    然后用花括号 { 和 } 把它括起来即可。
    由于 { 无法被转义,只有 $ 紧挨着 { 时才会被识别。可以用 {\$ 来表达 {$。
</span><span */<br /><br />#<span 下次继续</span>变量解析的深入学习</span>

 

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:ACCESS TOKENNächster Artikel:第六章_PHP数组