PHP中的变量用一个美元符号后面跟变量名来表示。变量名是区分大小写的。
变量名与PHP中其它的标签一样遵循相同的规则。一个有效的变量名由字母或者下划线开头,后面跟上任意数量的字母,数字,或者下划线。按照正常的正则表达式,它将被表述为:'[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*‘。
$this
是一个特殊的变量,它不能被赋值。
基础
以$
开头,跟着字母或者下划线,后面可以是数字,甚至是中文。不过要按照命名规范,使用驼峰命名.
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php $var $Var echo
$4site $_4site $i站点is ?>
|
使用引用赋值,简单地将一个 & 符号加到将要赋值的变量前(源变量)。例如,下列代码片断将输出“My name is Bob”两次:
1 2 3 4 5 6 7 8 9 10 11 |
<?php $foo $bar $bar echo echo
$vbar ?>
|
默认值:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
// 未赋值和无上下文声明的变量,默认值为NULL var_dump($unset_var);
// 可根据上下文 echo($unset_bool
// String usage; outputs 'string(3) "abc"' $unset_str var_dump($unset_str);
// Integer usage; outputs 'int(25)' $unset_int var_dump($unset_int);
// Float/double usage; outputs 'float(1.25)' $unset_float var_dump($unset_float);
// Array usage; outputs array(1) { [3]=> string(3) "def" $unset_arr[3] var_dump($unset_arr);
// Object usage; creates new stdClass object (see http://www.php.net/manual/en/reserved.classes.php) // Outputs: object(stdClass)#1 (1) { ["foo"]=> string(3) $unset_obj->foo var_dump($unset_obj);
|
判断是否有值:
1 2 3 4 5 6 7 8 9 |
<?php print $b $c $b unset($c); ?>
|
预定义变量
1 2 3 4 5 6 7 8 9 |
$_GET // $_POST $_ENV // $_SERVER $_COOKIE $_REQUEST // $_SESSION //
|
PHP标记
PHP脚本以<?php 开头,以 ?> 结尾:
1 2 3 4 5 |
<?php ?>
|
当解析一个文件时,PHP会寻找起始和结束标记,也就是 <?php 和 ?>,这告诉PHP开始和停止解析二者之间的代码。此种解析方式使得PHP可以被嵌入到各种不同的文档中去,而任何起始和结束标记之外的部分都会被PHP解析器忽略。
PHP也允许使用短标记 <? 和 ?>,但不鼓励使用。只有通过激活php.ini中的 shortopentag配置指令或者在编译PHP时使用了配置选项 –enable-short-tags 时才能使用短标记。
如果文件内容是纯PHP代码,最好在文件末尾删除PHP结束标记。这可以避免在 PHP结束标记之后万一意外加入了空格或者换行符,会导致PHP开始输出这些空白,而脚本中此时并无输出的意图。
例如,下面的是在一个文件中的,这个文件只有PHP代码,此时建义不要加上?>结束标识:
1 2 3 4 5 6 7 |
<?php //
echo echo echo
|
从HTML中分离
凡是在一对开始和结束标记之外的内容都会被PHP解析器忽略,这使得PHP文件可以具备混合内容。可以使PHP嵌入到HTML文档中去,如下例所示:
1 2 3 4 5 6 7 |
<p>This
<?php
<p>This
|
条件分离:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php
<?php echo }
<?php This <?php Otherwise <?php
|
指令分隔符
同C语言一样,PHP需要在每个语句后用分号结束指令。一段PHP代码中的结束标记隐含表示了一个分号;在一个PHP代码段中的最后一行可以不用分号结束。如果后面还有新行,则代码段的结束标记包含了行结束。
1 2 3 4 5 6 7 8 9 |
<?php echo ?>
<?php
<?php
|
注释
PHP支持C、C++、Unix Shell风格(Perl 风格)的注释。例如:
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php echo
/* yet another line of comment */ echo
echo ?>
|
可以使用//
或者#
注释单行,可以使用/**/
注释段。