1.空字符串
“0”
空数组
null
都被看作false
2.浮点数最大精度是14 0.12345678912345
0.00012345678912345
1.2345678912345
从左边第一个非0的数开始计算,不是小数点后面第一个非0的数
3.整型都是有符号的 -2147483647-2147483647 浮点精度最大为14位 字符串只受计算机内存限制,理论上可以无限大
4.字符串可以用双引号,也可以用单引号,双引号表示的时候可以对其中的变量解析 user1="user1user2='user2i
双引号还可以对一些特殊字符解析,比如\
5.PHP不需要编译,所有数据类型在运行上下文中确定,并不是固定不变的
6.比较符号 == 只要两者值相等就为true ,=== 必须两者类型也相等才可以 != !==同理
-
and 和 && 都表示与,但是优先级 and 小于 && 所以 a = true and false 时候 and 的优先级比=低,后面的false不会执行,返回是true
-
php中有三种提示 notice warning error
-
用关键字global可以在函数内部使用外部变量
11.计算机中计算都是用补码,输出的时候再转换为原码输出,~取反运算符是对所有位取反包括符号位
- 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会被当作科学表示法