一、变量的作用域
变量的作用域
也称变量的范围,变量的范围即它定义的上下文背景(也是它的生效范围)。大部分的PHP变量只有一个单独的范围。这个单独的范围跨度同样包含了include和require引入的文件
相同的变量名称,全局定义和局部定义是两种情况(不掺和),如果想引用全局变量,就使用global或者$GLOBALS['']及其他超全局数组
二、静态变量
静态变量仅在局部函数域中存在,但但程序执行离开此作用域时,其值并不会消失
1、static关键字
①、仅初始化一次
②、初始化时需要赋值
③、每次执行函数该值会保留
④、static修饰的变量是局部的,仅在函数内部有效
⑤、可以记录函数的调用次数,从而可以在某些条件下终止递归
eg:
三、函数的参数
默认情况下,函数参数通过值传递
如果希望允许函数修改它的值,必须通过引用传递参数
四、函数的返回值
1、值通过使用可选的返回语句(return)返回
2、可以返回包括数组和对象的任意类型
3、返回语句会中止函数执行,将控制权交回函数调用处
4、省略return,返回值为null,不可有多个返回值
五、函数的引用返回
从函数返回一个引用,必须在函数声明和指派返回值给一个变量时都使用运算符&
六、外部文件的导入
1、include/require语句包含并运行指定文件
2、如果给出路径名按照路径来找,否则从include_path中查找,如果include_path中也没有,则从调用脚本文件所在的目录和当前工作目录下寻找
3、当一个文件被包含时,其中所包含的代码继承了include所在行的变量范围
加载过程中未找到文件则include结构会发出一条警告;这一点和require不同,后者会发出一个致命错误
require在出错时产生(E_COMPILE_ERROR)级别的错误,也就是说(require会导致脚本中止);include只产生警告(E_WARNING),脚本会继续运行
require(include)/require_once(include_once)唯一区别是PHP会检查该文件是否已经被包含过,如果是则不会再次包含
七、系统内置函数
1、时间日期函数
date()、strtotime()、time()、mktime()、microtime()、date_default_timezone_set()
2、IP处理函数
ip2long()、long2ip
3、打印处理
print()、printf()、print_r()、echo(可以打印多个)、sprintf()、var_dump()、var_export()
4、序列化和反序列化
serialize()、unserialize()
5、字符串处理函数
implode()、explode()、join()、strrev()、trim()、ltrim()、strstr()等
6、数组处理函数
array_keys()、array_values()、array_diff()、array_merge()、array_shift()、array_pop()、array_push()、sort()等
eg: