接着昨天的内容继续学习
1、函数的变量作用域
函数体外部定义的为全局变量。内部的是局部变量。
内部调用全局变量可以使用global $outer的方式和$GLOBAL['outer']的方式。
注意:静态变量只能在函数体内部使用,但是程序结束后其值不会消失。
static:仅初始化一次。初始化时需要赋值。每次执行该函数值会保留。
2、函数的参数传值:
如果希望改变参数的值,可以使用引用传递参数。
$a=1; function act(&$a){};
3、函数的引用:
从函数返回一个引用,必须在函数申明和指派返回值给一个变量时都使用引用运算符&;
function &act(){}; $a=&act;
4、系统内置函数
时间函数:
打印函数:
echo可以打印多个,用逗号隔开,语法结构。
print_r()不能打印类型。var dump()可以打印类型。
序列化及反序列化函数:
serialize():用于序列化对象或数组,并返回一个字符串。
unserialize():如果想要将已序列化的字符串变回 PHP 的值,可使用 这个函数。
字符串处理函数
数组处理函数
5、正则表达式:
作用:分割、查找、替换、匹配
分隔符:正斜线 /,# ,~
通用原子:\d十进制0-9,\D十进制除了0-9,
\w数字字母下划线,\W除了数字字母下划线,
\s空白符,\S除了空白符。
元字符:. 除了换行符外任意字符 。
* 匹配前面的内容出现0次一次或多次
?匹配前面的内容出现0次或1次
^必须以它开头
$必须以它结尾
+出现一次或者多次
{n}恰好出现N次
{n,}大于等于N次
{n,m}大于等于N小于等于M次
[]集合直接匹配
()引用整体
[^]取反
|或者
[0-9]代表范围0-9
模式修正符:
i 不区分大小写
m 将字符串进行分割
u做中文utf-8匹配
后向引用:
贪婪模式:取消方式.*? 或者是/U
pcre函数:
preg_match()
preg_match_all()
preg_replace()
preg_split()
6、文件操作:
打开文件fopen()打开时需指定打开模式。
读取文件内容fread(),fgets()获取一行,fgetc()获取一个字符,
关闭文件fclose
不需要fopen()打开的函数:
file_get_content(),file_put_content()
file(),re'adfile()
访问远程文件:
开启allow_url_fopen.http协议链接只能使用只读,ftp协议可以使用只读或只写
目录相关操作:
读取:opendir(),readdir(),closedir(),rewinddir(),
删除:rmdir()
创建:mkdir()
目录大小:disk_free_space(),disk_total_space(),
文件大小:filesize()
文件拷贝:copy()
删除文件:unlink
文件类型:filetype()
重命名文件或目录:rename()
文件截取指定大小:ftruncate()
文件属性:file_exists(), is_readble(), is_writable(), is_executable(),filectime(),fileatime()访问的时间。
filemtime()修改的时间。
文件锁:flock()
文件指针:ftell(), fseek(),rewind()
7,会话控制:
cookie:
存储在客户端,
写:setcookie($name,$value,$expire有效时间,$path路劲,$domin域名,$secure安全参数)
读:$_COOKIE
seesion:
存储在服务器,
读:$_SESSION
8、面向对象
类权限控制符:
pubulic、protected、pravate
类的继承:单一继承、重写
魔术方法
设计模式
构造函数、析构函数
9、网络协议
HTTP状态码:
1xx:正在处理阶段
2xx:成功返回码
3xx:还需进一步处理
4xx:客户端错误
5xx: 服务端错误
osi七层协议
物理层
数据链路层
网络层
传输层
会话层
表示层
应用层
http
https
来一个大图解释一下php是怎么运行的