1.PHP中的文件包含
PHP中的文件包含有两种方法:使用include()函数和使用require()函数。函数里面是所要包含进来的文件的名称。
Include()函数可以放在程序的任何地方,PHP编译器在读到include()函数时,才将指定文件包含进来。而require()函数必须要放在PHP程序的最前面,PHP程序在执行时,先读入require()函数所包含的文件,使它成为PHP网页的一部分。常用的函数一般都是用require的方法包含进来的。
2.PHP中预定义的常量
常量名称 | 常量含义 |
__FILE__ | 当前PHP程序文件名。在include()或require()函数中使用这个常量能得到该函数包含的文件名 |
__LINE__ | 当前执行语句在PHP程序文件中的行数。在include()或require()函数中这个常量将表示被引用文件的行数 |
PHP_VERSION | 当前PHP程序的版本号 |
PHP_OS | 当前所用操作系统类别 |
True | 逻辑真 |
False | 逻辑假 |
E_ERROR | 指明最近一次产生的不可恢复的错误 |
E_WARING | 指出有错误,但程序可以继续进行下去,该错误可被脚本捕获 |
E_PARSE | 语法错误,分析器将停止分析 |
E_NOTICE | 产生异常,但不一定是错误,程序可以继续执行 |
说明:__FILE__和__LINE__中的“__”是双下划线,不是单下划线。以“E_”开头的常量一般与error_reporting()函数联用,以产生相关的调试出错信息。
3.PHP的自定义常量
除预定义常量外,PHP也支持用define()函数自定义常量,例如:
<?php
Define(STR,”A constant string”);
Echo STR;
?>
注意:常量一旦定义,在程序中就不允许再更改它的值。
4.PHP中的变量类型
l integer:整型
l floating point number (double):浮点型(或双精度型)。
l boolean:布尔型(PHP4)
l string:字符串
l array:数组
l object:对象
PHP中的变量属于松散数据类型,不必由编程者自己定义,而是在使用时由PHP编译器动态进行类型指定或转换,变量名要以“$”符号开头,且区分大小写。变量如果未赋值而直接使用,变量值将被视为空。
5.路径书写的注意
在字符串中表示路径时尽量用“\\”,不要用“\”,以免编译系统产生误解。
6.两种字符串分界符
单引号中的字符串不能自动转换其中的变量。使用双引号括起来的字符串能自动转换其中包含的变量。
7.PHP的数组
PHP同时支持以数字为下标的数组(scalar array,索引数组)和以字符串为下标的数组(associative array,关联数组),这二者没有任何区别。
在PHP中可以使用list()函数或者array()函数来创建数组,也可以直接进行赋值。
8.PHP的变量类型转换
变量的自动转换主要依赖于操作符,如用“.=”将会转换为字符,用“+=”将会转换为数字。在四则运算中,字符串会自动转换为数字。如果字符串中含有“.”、“e”或者“E”,将被转换为浮点型数据,否则将按整型来处理,字符串中不符合数字规则的部分将被舍去。如果字符串以普通字符开头,在转换为数字时将被视为0。此外,字符串的自增、自减运算是在字符串中最后一个字符的ASCII码基础上进行的。
<?php
$Var1=3; //$Var1是整数3
$Var.1=”10a”; //$Var1现在是字符串”310a”
$Var2=”1”; //$Var2是字符串”1”
$Var2++; //$Var2变为字符串”2”!!
$Var2+=1; //$Var2变为整数3
$Var2+=1.1; //$Var2变为浮点型4.1
$Var2=”a”; //$Var2是字符串”a”
$Var2++; //$Var2变为字符串”b”!!
$Var2=”ab”; //$Var2是字符串”ab”
$Var2++; //$Var2变为字符串”ac”!!
$Var3=1; //$Var3为整数1
$Var3+=”10a”; //$Var3变为整数11!!
$Var4=1; //$Var4为整数
$Var4+=”a10”; //$Var4还是整数1!!
$Var4+=”-10a”; //$Var4变为整数-9!!
?>
9.PHP变量的作用域
PHP中的变量是有作用范围的,一般情况下,变量的作用域是包括变量的PHP程序块,也就是“<?php”、“?>”之间的代码段或者“{”、“}”之间的代码段。如果其中还有用include()或require()函数包含的文件,变量的作用域也能扩展到这些文件中。
如果要在函数中引用主程序中的变量的值,可以使用PHP定义的$GLOBALS数组,$GLOBALS数组是一个以变量名为下标的数组。全局数组在使用时不能写成“$GLOBALS[“$int1”]”,要去掉变量前面的美元符。
还有一种实现跨域调用功能的方法就是使用全局变量,全局变量对整个程序都是可见的,不仅在函数中可以访问主程序中的全局变量,在主程序中也可以访问函数中的全局变量。全局变量定义方法为在变量名前冠以“global”关键字。
全局变量的定义不能与赋值写在一起,即“global $int2=2;”将无法通过语法检查。
10.静态变量
静态变量只能用于函数范围内,与普通局部变量不同之处在于:当该函数运行结束时,静态变量不会丢失自己的值。静态变量的定义方法为在变量前冠以“static”关键字。
静态变量虽然在函数结束时值不丢失,但其作用域只在本函数中,在函数之外仍然是无效的。
11.动态变量
PHP中的动态变量允许一个变量的值作为另一个变量的变量名,前提条件是这个值要符合变量命名规则。
在数组中使用动态变量时要解决一个岐义问题:比如$$Var[1]究竟是以变量$Var[1]的值作为变量名,还是以$$Var作为变量,再引用它的第一个元素?此时需要用{}消除岐义,上述两种情况应分别表示为${$Var[1]}和${$Var}[1]。
12.引用变量
PHP支持引用变量。对一个变量进行引用产生新变量后,新变量可以看作原变量的一个别名,改变其中任何一个的值,两个值都会一起改变。使用引用变量的方法是赋值时在右边变量前加“&”。
13.PHP中的预定义变量
变量名称 | 含义 |
argv | 传递给脚本的参数数组,与C语言main()函数中的argv参数一样,在通过GET方法发送请求时,此参数包含了查询字符串。 |
argc | 传递脚本的参数大小 |
PHP_SELF | 当前运行脚本的文件名,以命令行方式启动PHP时没有此变量 |
HTTP_COOKIE_VARS | 由HTTP Cookies传给当前脚本的一个关联数组 |
HTTP_GET_VARS | 使用HTTP GET方法时,传给当前脚本的一个关联数组 |
HTTP_POST_VARS | 使用HTTP POST方法时,传给当前脚本的一个关联数组 |
注意:要使用后3个变量先要将php.ini文件中的“track_vars”置为On。
14.外部变量
PHP中外部变量的来源可能有3种途径:
<P class=MsoNormal style="MARGIN: 0cm