考察点
引用变量
Q:什么是引用变量?在PHP中,用什么符号定义引用变量?
考点:
A:
概念:
在PHP中引用意味着用不同的名字访问同一个变量内容。
定义方式:
使用&符号
引用变量的工作原理:
下面是几个例子,对比程序的运行结果,观察引用的情况:
最后来一个常见的面试题:
运行结果如下:
数据类型
Q:PHP中字符串可以使用哪三种定义方法以及各自的区别是什么?
考点:
A:
定义方式:单引号、双引号、heredoc(类似双引号)、newdoc(类似单引号),处理大文本。
数据类型:
浮点类型不能运用到比较运算中,有可能会踩坑,别不信,给你看。
注意布尔类型false的七种情况:
false, null , ' ', array(), 0, 0.0, '0',
数组类型:
超全局数组!同色框框表示小框框包括大框框里面的。
重点是$_SERVER
query_string是url小问号?后面的一串
NULL的三种情况:
常量:
const:语言结构,更快
define:函数。不能用于类常量的定义,const可以
预定义常量:
运算符考点
Q:foo和@foo()之间的区别?
考点:
A:
使用@错误控制符,该表达式前面的所有错误信息都会被忽略掉,但是不会解决错误。
运算符:
Q:==和===的区别?等值判断的七种情况
A:
== 比较值
=== 比较值和类型
递增递减不会影响布尔值,递减null不影响但是递增会➕1.
递增递减在前(++/--i)就先运算符后返回,反之(i++/--)就先返回后运算。
这里有个例子,注意里面的符号,以及短路作用。结合上面的优先级,可以看看:
流程控制
Q:请列出3种PHP数组循环操作的语法,并注明各种循环的区别。
考点:
A:
分支机构:
if..elseif()
switch(){
case:...case
}
生成索引表,效率会高点。
Q: 如何优化多个if...elseif语句的情况?
A:表达式可能性大的放前面,如果比较情况复杂,可使用
switch(){
case:user
}
代替。
自定义函数
返回值的问题
遇到return会终止函数,将控制权交回函数调用处,省略return,返回值为null,不可有多个返回值。
函数的引用返回:
从函数返回一个引用,必须在函数声明和指派返回值给一个变量时都使用引用运算符&
外部文件的导入:
系统内置函数:
时间日期函数:
IP处理函数:
打印处理:
print_r打印false,null什么的需要注意,显示为空;
var_dump不一样,Null会显示,false也会显示。