php复习资料,PHP 复习

标签:

第一部分

一、php基础语法

输出语句:

1.echo

2.print

3.print_r

4.var_dump()

二、php是弱类型语言,自动转换类型

强制转换类型:

1.(类型)变量

2.settype()

三、变量定义

$a=5;

可变变量:$b="a",$$b=10;

判断变量类型 gettype(变量);获取变量类型 is_类型() is_int();判断变量是否是该类型

判断变量是否为空:empty() isset();

删除变量:unset();

四、字符串的定义方式

1.可以解析变量 解析转义字符

$str="hello";

2.不能解析

$str=‘hello‘;

3.不用担心单引号和双引号的问题

$str=<<

hello

A;

五、运算符与表达式

六、语句

分支:1.if 2.switch...case

循环:1.for 2.foreach 3.while 4.do...while

七、函数

四要素:返回类型、函数名、参数类表、函数体

函数的定义方式

1.普通的

function Show()

{

}

2.有参数

function Show($a)

{

}

3.有返回值

function Show()

{

return $a;

}

4.有默认值

function Show($a=5)

{

}

5.参数可变

function Show()

{

func_get_args();

}

八、常用函数

随机数的:rand(); rand(0,10);

日期时间:time(); 可以获取当前日期时间戳

格式化日时间:date(格式化字符串,时间戳); Y年份m月份d天 H24小时制的小时 h12小时制的小时 i分钟s秒

将字符串转化为时间戳:strotime(表示时间的字符串);

九、其他

1.错误抑制符:@

2.退出程序:1.exit(); exit; 2.die("错误信息");

第二部分 字符串的常用方法

1.取字符串长度:strlen();

2.拆分字符串:explode(); 根据长度拆分字符串:str_split();

3.合并字符串:implode();

4.截取字符串:substr();

5.替换字符串:查找替换:str_replace(); 指定位置替换:substr_replace();

6.去空格:trim();

7.转大写:strtoupper();

8.转小写:strtolower();

第三部分 正则表达式

一、定界符:/ /

二、匹配开头:^ 匹配结束:$

三、1.数字:\d

2.不可见字符: \s

3.任意数字或单词字符: \w

4.前面的表达式至少出现一次: +

5.前面的表达式至少出现0次最多出现2次:{0,2}

6.匹配里面的任意字符:[0,1,2][0-9][a-z]

7.优先级:()

8.或:|

四、拆分字符串:preg_split();

五、替换字符串:preg_replace();

六、匹配字符串中出现的(满足正则)数据:preg_match() preg_match_all()

第四部分 数组

一、数组分类

根据维度分:一维数组、多维数组

根据索引分:索引数组、关联数组

二、数组定义

1.常见定义方式:$attr=array();

2.赋值定义:$attr[]=5;

3.定义索引数组:$attr=array(1,2,3,4);

4.定义关联数组:$attr=array("key"=>"value");

三、取值

1.索引数组取值:$attr[0];

2.关联数组取值:$attr["key"];

四、遍历数组

1.for循环,只能遍历索引数组

for($i=0;$i

{

$attr[$i];

}

2.foreach遍历,可以遍历索引和关联数组

foreach($attr as $v)

{

$v;

}

foreach($attr as $k=>$v)

{

$v;

}

3.each()和list()方法结合

each():返回数组里面当前元素的key和value值,返回的是一个数组的形式

list():将右侧数组的值分别赋给一组变量 list($a,$b)=$attr;

4.指针遍历

取当前指针指向的元素的值:current();

取当前指针指向的元素的key:key();

将指针指向下一个元素:next();

将指针指向上一个元素:prev();

重置指针:reset();

将指针指向最后一个元素:end();

五、数组的常用函数

取数组长度:count();

向数组添加元素:array_push();

判断数组里是否包含某个元素:in_array();

合并数组:array_merge();

去重复:array_unique();

删除数组元素:unset();

重新索引:array_values();

翻转数组:array_reverse();

数组元素排序:array_multisort();

第五部分 面向对象 OOP

一、类和对象 类是由众多对象抽象出来的,对象是由类实例化出来的

二、类的定义 class Ren{}

成员变量 成员方法 构造函数 析构函数 _get() _set() _tostring() _clone()

三、访问修饰符

1.公有的 public

2.私有的 private

3.受保护的 protected

四、三大特性

1.封装

目的:让类更加安全,不让外界直接访问类里面的成员变量

做法:1.把成员变量变成私有

2.做一个方法来实现变量的取值或赋值,在里面加限制条件

2.继承

概念:如果一个类有子类,那么该子类会继承父类的一切东西(私有成员访问不到)

在定义子类的时候需要加一个关键字:extends

特点:单继承,一个儿子只能有一个父亲,一个类只能有一个父类

如果父类中有构造函数,子类在实例化的时候要按照父类构造函数的标准来实例化

子类对父类方法的重写:在子类中写一个同样的方法

3.多态

概念:当父类引用指向子类实例的时候,由于子类对父类函数进行了重写,导致我们在使用该引用去调用相应的方法表现出的不同

条件:1.必须有继承

2.子类必须要对父类的方法进行重写

五、静态:static 静态成员是属于类的,普通成员是属于对象的 Ren::Show();

六、抽象类:abstract 不能被实例化 用作父类

接口:interface 应省掉class关键字,可以定义方法不用写函数体,继承自这个接口的子类必须实现里面所有的方法

七、克隆对象 clone

八、构造函数 _construct()

1.写法特殊

2.执行时间特殊

九、加载类

出现错误继续执行

include("");

include"";

出现错误停止执行

require("");

require"";

require_once("");

require_once"";

自动加载类 _autoload()

十、单列模式

只能生成一个对象

十一、工厂模式

第六部分 数据访问

一、mysqli

$db=new MySQLi(服务器,用户名,密码,数据库);

mysqli_connect_error();

$result=$db->query(sql语句);返回结果集

$result->fetch_row();读数据

二、pdo

$pdo=new PDO(DNS,用户名,密码);

$stm=$pdo->prepare(sql语句);

$stm->excute();

$stm->fetch_row();

占位:1.? (索引) 2.:字符串(关联)

第七部分 Jquery Ajax

一、选择器:$()

1.根据id选 $("#id") 返回一个Jquery对象 从Jquery对象里去DOM对象 取索引0[0]

2.根据class选 $(".class")

3.根据属性选 $("[name=a]")

4.根据标签名选 $("div")

二、操作内容

1.操作非表单元素

文本 text();

html代码 html();

2.操作表单元素

val();

三、操作属性

1.添加设置属性 attr(属性名,属性值);

2.获取属性 attr(属性名);

3.移除属性 removeAttr(属性名); 注意A大写

四、操作样式

1.获取样式 css(样式名);

2.添加设置样式 css(样式名,样式值);

五、事件

1.$("#id").事件名(function(){})

2.绑定事件 $("#id").bind(事件名,function(){});

3.移除事件 $("#id").unbind(事件名);

六、Ajax

1.异步 下面代码继续执行 async:

2.同步 全部执行完下面才可以继续执行

data:传递的数据JSON格式

type:数据的传递方式 POST或GET

dataType:返回数据类型 TEXT JSON XML (注意T大写)

success:回调函数

error:当调用出错时执行的方法

七、JSON

{key:value}

XML特点:必须有一个根,有开始就要结束(标签完整),大小写敏感,标签名可以自定义,可以加属性

八、会话控制

SESSION特点:存储在服务器,有默认过期时间,每个用户存一份,可以存储任何类型的数据,必须开启才能使用 session_start(); 必须写在第一行。安全,占资源

COOKIE特点:存储在客户端,默认没有过期时间,每个用户存一份,只能存储字符串。不安全,不占资源

设置:setcookie(名,值);

读取:$_COOKIE["uid"];

第八部分 文件

一、文件上传

1.做文件上传表单 enctype

2.数组取文件信息 $_FILES[]

3.控制格式和大小

4.造存储路径(处理文件名) 方法一:该文件名 方法二:建文件夹

5.判断文件是否存在

6.上传保存 move_uploaded_file();

7.转换编码格式 iconv(原编码,目标编码,字符串);

二、文件操作

1.文件类型: filetype() is_file() is_dir()

2.路径: ./ ../ /

3.遍历目录:方法一:glob(); 方法二:目录资源(注意把.和..去掉)

4.新建目录:mkdir();

5.删除目录:rmdir();

6.移动目录:rename();

7.新建文件:touch();

8.删除文件:unlink();

9.复制文件:copy();

10.获取文件内容:file_get_contents();

11.写入内容:file_put_contents();

12.文件资源

打开文件资源:fopen();

关闭文件资源:fclose();

读取文件内容:fgetc();一个字符 fgets();一行 fread();指定长度 fwrite();

标签:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值