一.PHP数据类型 三大数据类型(标量,复合,特殊) 在PHP中,一共支持八种原始数据类型:它们是4种标量类型,boolean(布尔型),integer(整型),float(浮点型)和string(字符串型);两种符合类型,array(数组)和object(对象);两种特殊类型,resource(资源)与空值(null) 字符串的定义方式 1.单引号 要表达一个单引号自身,需在它的前面加个反斜线(\)来转义。要表达一个反斜线自身,则用两个反斜线(\)。其它任何方式的反斜线都会被当成反斜线本身:也就是说如果想使用其它转义序列例如 \r 或者 \n,并不代表任何特殊含义,就单纯是这两个字符本身。

2.双引号 用双引号定义的字符串最重要的特征是变量会被解析,详见变量解析。

3.heredoc和newdoc heredoc 类似于双引号 newdoc 类似于单引号 两者都是用来处理大文本 代码 header("Content-type: text/html; charset=utf-8"); $var = 'PHP变量'; $vara = 'PHP变量555555'; echo <<<'aaa'

PHP heredoc技术

$var $vara

aaa;

echo <<

PHP heredoc技术

$var

zhangshan;

代码实现区别 变量加引号和不加引号。 数据类型

标量: 1.浮点类型 浮点类型不能用于比较计算的判断(原因 计算机计算基于二进制,有精度缺失) 例子:0.1+0.7==0.7999!=0.8 2.布尔类型(7种) 0,0.0,'',false,array(),NULL 3.数组类型 超全局数组 $GLOBALS,$_GET,$_POST,$_REQUEST,$_SESSION,$_COOKIE,$_SERVER,$_FILES,$_ENV

$_SERVER 1.记录请求的结果码 2.记录请求过来的必要信息(请求ip 来源地址 请求时间,请求方式,来源地址解析等) 3.记录服务器的配置信息(域名路径,环境配置信息,执行路径,执行文件路径等) php引用变量 定义: php引用变量:不同变量名指向同一地址。 符号& 本质: 多个变量共用一个内存空间。(memory_get_usage内存空间使用情况查看函数,xdebug_debug_zval查看变量的情况) 直接变量之间的赋值在赋值变量改变的时候将会开辟新的内存空间。(一般的变量赋值给另外一个变量,内存空间还是共用,但是在赋值变量改变的时候,PHP将会开辟新的内存空间保存不同的值) 注意: unset其中一个引用变量不影响其他变量。 其中一个引用变量重新赋值,其他的变量值发生改变,其中一个变量如果是引用变量指向另外地址空间,则跳出和之前变量的共用空间,独立开辟新空间。 data 值为array(b,c,c); 总结:多个变量之间共用空间通过&地址符赋值,单个变量通过unset变量取消引用或者通过地址符&重新赋值新地址,跳出和其他变量的共用空间。共用空间内的所有引用变量,其中一个变量改变其他变量值也会改变。 二.运算符 运算符优先级 @为屏蔽表达式发生全部错误信息运算符 三.流程控制 PHP遍历数组的三种方式 1.for 2.foreach 3.list while each reset() reset — 将数组的内部指针指向第一个单元 PHP分支语句 1.If else: 2.Switch case Switch case 不同的值直接存放在索引数组里面 效率高于if分支。属于精确查询。代码如下 switch (n) { case label1: 如果 n=label1,此处代码将执行; break; case label2: 如果 n=label2,此处代码将执行; break; default: 如果 n 既不等于 label1 也不等于 label2,此处代码将执行; } 四.自定义函数以及内部函数 不能直接把全局变量直接用到局部。需要设置全局可以如下: 静态变量 解释:常作为递归的判断方式。 $a $b 互为引用 外部文件引入: 五.正则表达式 六.文件及目录 文件前面追加字符串思路 七.php会话控制技术 具体可以参考文章(https://www.jianshu.com/p/7ec08ec8ba36) (https://www.cnblogs.com/wswang/p/6062461.html) 八.面向对象 文章(https://www.imooc.com/article/23924) 方法重写 文章参考(https://www.cnblogs.com/giantpanda/archive/2012/11/07/2759458.html) 构造函数 构造函数可以接受参数,能够在创建对象时赋值给对象属性 构造函数可以调用类方法或其他函数 构造函数可以调用其他类的构造函数 析构函数 析构函数是在销毁对象时,自动调用,不能显示的调用。 析构函数不能带参数。 在以下几种情况下可能会调用析构函数(但不一定):

PHP页面加载完毕之后; unset()类; 变量引用指向别的对象或值时; PHP的内存回收机制和JAVA的很类似,对没有任何引用的对象进行销毁回收,采用引用计数器的技术。 // 构造函数 function __construct([argument1,argument2,...,argumentN]){ / Class initialization code / }

// 析构函数 function __destruct(){ // ... } 九.网络协议