引用变量
-
真题 什么是引用变量 在PHP中用什么符号定义引用变量(概念及定义方式 php引用变量的原理)
eg:
1 用不同的名称访问同一个变量内容,用&符号定义变量
2.1 使用新的变量不会在奇偶出上重新开辟出一个内存空间,改变任何一个变量就会全部改变
2.2 在引用变量中unset只会取消引用 并不会销毁空间
2.3 对象本身就是引用传递 并不需要引用
3 延伸 php中 ( COW机制)
$a = 1
$b = $a
//$a 占用一块内存空间 $b=$a 并不会重新开辟一块空间 只有其中一个发生改变的时候才会重新` 开辟一块空间 (COW机制)
常量及数据类型
- php中字符串可以用哪三种定义方法以及各自的区别是什么
1 定义方式 :单引号、双引号、heredoc和newdoc
2 区别 :·
2.1:单引号不解析变量,不能即转义字符,只能解析单引号和反斜线 本身、变量和变量、变量和字符串、字符串和字符串之间用"."链接
2.2:双引号可以解析变量 、变量可以用特殊字符和{}包含,双引号可以解析所有的转义字符,可以用 "." 链接
2.3: 单引号效率比双引号效率高
2.4: heredoc 相当于双引号 newdoc 相当于单引号 两者都用来处理大文本 - 数据类型(8大类型又可以分为三大数据类型:标量 复合 特殊)
1 四种变量类型 整数型(integer)浮点数(float) 布尔型(boolean)字符串(string)
2 两种复合类型 array(array) 对象(object)
3 两种特殊类型 NULL 资源(resource)
其中
0.1:浮点数不能用于比较运算
0.2:布尔类型 false 的七种情况(整形0、浮点数0.0、布尔型false、空字符串、0字符串、空数组、null)
0.3:NULL 的三种情况(直接赋值为null、未定义的变量、unset销毁的变量)
0.4:常量 定义const更快,是语言结构,可定义类的常量 define是函数(常量一旦定义不能修改不能删除)
运算符的考察
- php中错误抑制符:@当将其放置再一个PHP表达式之前,该表达式可能产生的任何错误信息都会被忽略掉
1.1 运算符号优先级:递增/递减 > ! > 算术运算符 > 大小比较 > (不)相等比较 > 引用 > 位运算符(^)>位运算符(|)>逻辑与>逻辑或>三目>赋值>and>xor>or
1.2 比较运算符:递增/递减 运算符不影响布尔值。递减NULL值没有结果,递增NULL值为1。递增和递减再前就先运算符后返回,反之就先返回,后运算
1.3 短路作用 ||和&&与or和and 的优先级不同 -
重点记忆递增/递减运算符的运算规则,逻辑运算符的短路效果,在看到逻辑运算符要多考虑优先级问题
流程控制的考察
- php遍历数组的三种方式以及各自的区别
1 for循环 /foerch循环/while list each 组合循环
2 区别: for 循环只能遍历索引数组 foeach 可以遍历索引和关联数组 联合使用List()、each()、while循环同样可以遍历索引和关联数组但是不会reset() 操作 foreach可以
静态变量
- static 关键字
1 仅能初始化一次
2 初始化的时候需要赋值
3 每次执行函数该值会保留
4 static 修饰的变量是局部的,仅在函数内部有效
5 可以记录函数的调用次数,从而可以在某些条件下终止递归