PHP标记风格、注释、表单获取、字符串类型、变量解析的实例解析

发布时间:2019-08-05编辑:脚本学堂
本文介绍下,在php编程中,有关标记风格、注释、表单获取、字符串类型、变量解析的几个例子,配有详细的注释,作为php入门参考相当不错,有需要的朋友别错过。

1,PHP标记风格:
 

复制代码 代码示例:

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

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

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

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

2,PHP注释:
 

复制代码 代码示例:

//多行注释
/* C风格注释
   C风格注释
   C风格注释
*/
//单行注释

//C++风格注释
#shell/ target=_blank class=infotextkey>shell脚本风格注释
/*
  特别注意,
  注释符号(#或//)之后,行结束或PHP结束标记(?>)之前,所有内容都是注释。
  如下例,"Here is HTML"将被当作是HTML,因为他位于关闭标记之外
*/
//Here is a Comment ?> Here is HTML
 

3,表单获取:
 

复制代码 代码示例:

//Short Style——需启用register_globals选项
$Name;

//Medium Style——PHP 4.1.0后支持
$_POST['Name'];
$_GET['Name'];

//Long Style——通过register_long_arrays禁用
$HTTP_POST_VARS['Name'];
$HTTP_GET_VARS['Name'];

//三种方法的使用讨论

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

4,字符串类型
 

复制代码 代码示例:

//PHP中一个字符串可以通过下面的4种方式来定义:

//双引号("")
echo "Character string";

//单引号('')
echo 'Character String';

//heredoc结构(PHP4.0后引进)
echo <<<EOD
    heredoc
  heredoc
heredoc
EOD;

//heredoc结构(PHP5.3.0后引进)
echo <<<"EOD"
    heredoc
  heredoc
heredoc
EOD;

//nowdoc结构(PHP5.3.0后引进)
echo <<<'EOT'
    nowdoc
  nowdoc
nowdoc
EOT;

/*用法
 1.单引号
  要表达一个单引号自身,需在它的前面加个反斜线()来转义,要表达一个反斜线自身,则用两个反斜线()。
  其它任何方式的反斜线都会被当成反斜线本身,
  例如 r 或者 n,并不代表任何特殊含义,就单纯是这两个字符本身。
 2.双引号
  双引号定义的字符串最重要的特征是变量会被解析
  字符串是包围在双引号(")中, PHP将对一些特殊的字符进行解析
 3.Heredoc结构
  <<<,在该运算符之后要提供一个标识符(命名遵守PHP规则),然后换行,
  接下来是字符串 string 本身,
  最后要用前面定义的标识符作为结束标志。
  
*/

/*注意事项
 1.双引号与Heredoc结构是插补的[插补(interpolation)特性:用一个字符串的内容来代替一个变量的操作]
 2.双引号与单引号,Heredoc语法与Nowdoc语法之间的区别和效率问题:
  由于双引号/Heredoc语法要进行插补操作,其中的字段会经过编译器的解释,然后再当做HTML代码输出;
  而单引号/Nowdoc语法内的字段不会进行解释,直接输出。
 3.Heredoc结构/Nowdoc结构结束时所引用的标识符必须在该行的第一列,
  结束标识符这行除了可能有一个分号(;)外,绝对不能包含其它字符,
  且分号的前后也不能有任何空白或制表符。
  *在Heredoc结构中含有复杂的变量时要格外小心
 4.PHP5.3.0后,Heredoc结构也可用来初始化静态变量和类的属性和常量:

//静态变量
function foo(){
    static $bar = <<<LABEL
Nothing in here...
LABEL;
}

//类的常量、属性
class foo{
    const BAR = <<<FOOBAR
Constant example
FOOBAR;
    public $baz = <<<FOOBAR
Property example
FOOBAR;
}

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

5,变量解析
 

复制代码 代码示例:

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

/*简单语法:
    当PHP解析器遇到“$”时,它会组合尽量多的标识以形成一个合法的变量名
*/
/*复杂语法:
    像在string以外的地方那样写出表达式,
    然后用花括号 { 和 } 把它括起来即可。
    由于 { 无法被转义,只有 $ 紧挨着 { 时才会被识别。可以用 {$ 来表达 {$。
*/