PHP

163 阅读4分钟

1.空字符串 “0” 空数组 null 都被看作false

2.浮点数最大精度是14 0.12345678912345 0.00012345678912345 1.2345678912345 从左边第一个非0的数开始计算,不是小数点后面第一个非0的数

3.整型都是有符号的 -2147483647-2147483647 浮点精度最大为14位 字符串只受计算机内存限制,理论上可以无限大

4.字符串可以用双引号,也可以用单引号,双引号表示的时候可以对其中的变量解析 i=9user1="user1i" //user19user2='user2i' //user2i

双引号还可以对一些特殊字符解析,比如\

5.PHP不需要编译,所有数据类型在运行上下文中确定,并不是固定不变的

6.比较符号 == 只要两者值相等就为true ,=== 必须两者类型也相等才可以 != !==同理

  1. and 和 && 都表示与,但是优先级 and 小于 && 所以 a = true and false 时候 and 的优先级比=低,后面的false不会执行,返回是true

  2. php中有三种提示 notice warning error

  3. 用关键字global可以在函数内部使用外部变量

11.计算机中计算都是用补码,输出的时候再转换为原码输出,~取反运算符是对所有位取反包括符号位

  1. this本质就是一个地址;哪个类对象使用this,this就是哪个对象的地址;this不能在类外部使用,是一个类内部的概念

12.什么时候调用析构函数? 1.函数执行结束2.对象没有任何变量引用的时候就是垃圾对象,立即会调用析构函数

析构只是释放对象创建的资源,并不销毁对象本身

13.所有类对象共享静态变量,创建对象的时候在堆区写入的是静态变量地址,不是一个值;静态变量不能通过$this->访问,因为他不属于任何对象,属于类

14.静态方法

为什么要用静态方法(普通方法也可以调用静态变量)

-节省内存,速度快

什么时候用

-要对静态变量操作的时候,考虑使用静态方法(虽然普通方法也可以操作)

静态方法可以通过类名和对象实例访问,静态变量只能通过类名或self::访问

15【接口】

类与类之间的关系是子类继承父类 类与接口之间的关系是类实现接口

-为什么用接口

实现高内聚低耦合,类继承,父类有错下面所有继承的子类都有错,而接口的所有实现类是互不影响的

-什么时候用

大佬制定规范,在接口里面定义需要实现的功能,小菜鸡写类实现接口,实现接口里面方法具体功能; 多个类都要实现同样的功能,但具体实现不一样,这个时候适合用接口,让多个类实现接口功能;

-类和接口有什么区别

-体会 类和接口 的区别

有个猴子应该继承猴子的类,但是这个猴子不只有猴子的特点,还可以上天入地,可以像鸟一样飞,还可以鱼一样游泳,所以这个SuperMonkey类应该要继承extends猴子的类Monkey,还要有ibird的接口,iFish的接口

class Monkey { function climb(){ echo "猴子爬树"; } }

interface iBrid{ public function fly(); }

interface iFish{ public function swim(); }

class SuperMonkey extends Monkey implements iBrid,iFish{ public function fly(){ echo "fly"; } public function swim(){ echo "swim"; } }

【cookie】

1.cookie有生命周期,包括增删改查操作

2.cookie的创建,当浏览器访问页面的时候,服务器就会在返回头添加Set-Cookie: username=JasonChi类似信息,浏览器获取该信息后就会将cookie保存到本机专门保存cookie的文件中

3.cookie的形式就是key=value,值只能是字符串形式,客户端能保存一个页面的多个cookie,如果值是中文会对中文urlencode

4.客户端再次访问服务器的时候,会将该服务器相关的所有cookie在请求体中带上去Cookie: username=JasonChi类似,服务器端页面代码会通过超全局变量_COOKIE获取,浏览器带cookie请求是http协议的既定规范

16.PHP不要求使用变量之前声明变量,当第一次给一个变量赋值时就创建了这个变量

17.PHP中变量类型是由赋给变量的值确定的,PHP自动的获取输入的数据类型,一旦从变量中检索变量值。他将返回具有相同类型的数据

18.算术操作符通常用于整型 和 双精度类型的数据,如果应用于字符串,找不到数字,字符串的值会为0,e E会被当作科学表示法