PHP学习笔记

一、基本知识

1.foreach 仅能够应用于数组和对象,是对数组的备份进行操作,在循环内部修改数组不会对循环之外访问数组有影响;要想影响的话就得用引用

2.require_once语句是用来检查该文件是否已经被包含过,是的话就不会被再次包含

3.stripos 查找字符串中某部分字符首次出现的位置(不区分大小写)

strpos: 查找字符串首次出现的位置(区分大小写)

strripos: 计算指定字符串在目标字符串中最后一次出现的位置(不区分大小写)

strrpos: 计算指定字符串在目标字符串中最后一次出现的位置(区分大小写)

4.explode: 将字符串转化为数组     implode: 数组转化为字符串

5.创建数组:使用array() 或者是[]来创建,两种方式都可以;初始化数组有两种方法:

//两种初始化方法
$arrInput = [];
$arrInput2 = array();

//在数组中追加元素的方法
$arrInput[] = 'xxx';

6.定义字符串时,没有特别说明的话,尽量用单引号

7.复合数据类型有两种,数组和对象:

数组array:一组类型相同的变量的集合

对象object:对象是类的实例,使用new命令来创建

8.空值null:有三种情况,还没被赋值、赋空值、被unset()函数处理过的变量;unset()函数的作用是从内存中删除变量,即用来销毁指定的变量。

9.return将函数的值返回给函数的调用者,即将程序控制权返回到调用者的控制域;如果在全局作用域内使用return关键字,那么将会终止脚本的执行。

10.print_r()函数可以将数组结构输出。

11.GET方法是将表单内容附加在URL地址后面发送;POST方法是将表单中的信息作为作为一个数据块发送到服务器上的处理程序中,在浏览器的地址栏不显示提交的信息。

12.Cookie:是一种在远程浏览器端存储数据并以此来跟踪和识别用户的机制。简单来说,Cookie是Web服务器暂时存储在用户硬盘上的一个文本文件,并随后被Web浏览器读取。当用户再次访问Web网站时,网站通过读取Cookies文件记录这位访客的特定信息,从而迅速做出响应,如在页面中不需要输入用户的ID和密码即可直接登录网站等。

13.session: 会话,其本意是指一系列有始有终的动作/消息,如打电话时从拿起电话拨号到挂断电话这一些列过程可以称为一个session;在计算机专业术语中,session是指一个用户终端与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统所经过的时间。

14:session和cookie的最大区别是:session是将session信息保存在服务器上,并通过一个session ID来传递客户端的信息,同时服务器接受到session ID后,根据这个ID提供相应的信息资源;cookie是讲所有的文本以文本文件的形式保存在客户端,并由浏览器进行管理和维护。

由于session为服务器存储,所以远程用户无法修改session文件的内容;而cookie为客户端存储,所以session比cookie安全许多。

二、面向对象

1.在对象方法执行的时候会自动定义一个$this的特殊变量,表示对象本身的引用。通过$this->形式可引用该对象的方法和属性,其作用就是完成对象内部成员之间的访问。

$this变量表示当前实例,只不过它是从类的内部来做。即调用本类的成员变量或成员方法。(有继承的话就也可以调用父类的),但$this不能调用静态的,得用self。

2.parent::父类成员,这种形式的访问可调用父类的成员变量常量和方法

self::自身成员,这种形式的访问可调用当前类中的静态成员和方法

类名::成员,这种形式的访问可调用本类中的变量常量和方法

$this指向的是当前对象中的指针,而self指向的是当前类的指针

3.静态属性和静态方法可在不被实例化的情况下直接使用;和常规属性不一样的是,静态属性属于类本身,而不属于任何实例。静态属性使用static关键字定义,在类外部可使用“类名 ::静态属性名”的方式访问,在类内部可使用“self::静态属性名”的方式访问。

静态方法也可在不被实例化的情况下使用,其属于类而不是被限制到任何一个特定的对象实例。因此$this在静态方法中不可使用,但可在对象实例中通过“$this->静态方法名”的形式调用静态方法,在类内部需要使用“self::静态方法名”的形式访问。

在静态方法中,只能调用静态变量,不能调用普通变量;而普通方法可以调用静态变量;

4.抽象类和接口都是不能被实例化的特殊类,可以在抽象类和接口中保留公共的方法,将抽象类和接口作为公共的基类。

一个抽象类必须至少包含一个抽象方法,抽象类中的方法不能被定义为私有的,因为抽象类中的方法需要被子类覆盖,同样抽象类中的方法也不能用final修饰,因为其需要被子类继承。抽象类中的抽象方法不包含方法实体,如果一个类中包含了一个抽象方法,那么这个类也必须声明为抽象类。

抽象类中的抽象方法必须被子类实现,除非该抽象类的子类也为抽象类,否则会报错;抽象类中的非抽象方法可不被子类实现。非抽象方法必须包含实体,抽象方法不能包含实体。

5.子类只能继承自一个抽象类,却可以继承自多个接口;接口也是需要被继承的,所以接口中定义的方法不能为私有函数或被final修饰;接口中定义的方法必须被子类实现,并且不能包含实体。

定义接口的关键字是interface,而且在接口中的所有方法都必须声明为public

6.==比较两个对象的内容是否相同,即是否具有相同的属性和方法;===比较两个对象是否为同一引用。

===表示全等运算符,要求两个变量比较时,不仅是值相等,而且还要求他们的数据类型也要相同

7.当在一个方法的前面加上final关键字,表示该方法不可以被重写,即在该类的子类中,只允许调用,不允许重新设置该方法的功能。

8.在类中的常量叫做成员常量,用const定义,其在类内和类外使用常量和变量的方法是不一样的,在类外使用不需要实例化对象,可以直接“类名::类常量名”,在类内使用的方法为“self::常量名”。

9.抛异常:当通知PHP执行一项任务时,它无法完成该任务。PHP会试图(try)做你让他做的事情,但是将会失败,为了告诉你失败的消息,它会向你抛出(throw)一个异常。异常不仅仅是PHP奔溃了并抛出一条具体的错误信息,当抛出一个异常时,PHP代码停止了,该错误之后的代码将不会执行。

10.对象:在PHP中,一个对象就是一个值,就像一个字符串、一个数字或数组一样。可以将一个对象存储到一个变量中,或者将其作为参数传递给函数。其次,对象的行为很像一个数组,因为它充当其他值的容器。

12.__call()方法:当程序试图调用不存在或不可见的成员方法时,PHP会先调用__call()方法来存储方法名及参数,__call()方法包括两个参数,即方法名和方法参数。方法参数是以数组的形式存在的。

三、其他

1.JSON的语法规则如下:数据在键值对中,数据由逗号分隔,花括号保存对象,方括号保存数组

json_encode可将数组转成JSON编码数据;json_decode可将JSON格式的字符串进行解码,将JSON数据转化成数组

JSON对象在一对大括号中,每个“名称”后跟一个冒号,“名称/键值对”之间使用逗号分隔

2.file_get_contents()把整个文件读进一个字符串中

.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值