php面试总结
1、什么是引用变量和定义方式
答:在PHP中引用意味着用不同的名字访问同一个变量内容,定义方式是使用&符号。
代码回答:
1 $a = 1; 2 $b = $a; 3 $a = 2; 4 echo $b; //输出1,$a和$b是两个变量 5 6 $a = 1; 7 $b =& $a; 8 $a = 2; 9 echo $b; //输出2,$a和$b实际上是一个变量,因为$b是$a的引用 10 11 一般会在函数中使用引用,代码如下: 12 13 function test(&$a){ 14 $a = $a + 100; 15 } 16 17 $b = 1; 18 echo $b; //输出1 19 test($b); //这里$b传递给函数的其实是$b的变量内容所处的内存地址,通过在函数里改变$a的值 就可以改变$b的值了 20 echo "<br/>"; 21 echo $b; //输出101
考官考点
PHP的引用变量的概念及定义方式
延伸:PHP引用变量的工作原理
答:php中的cow机制;Copy-on-Write ,对象本身就是引用传递
2、常用及数据类型考点。
①、php字符串的定义及各自的区别
答:单引号、双引号、heredoc和newdoc; 区别如下:
单引号:
双引号:
单引号比双引号效率更高。
heredoc 和 newdoc
不加单引号是heredoc,加单引号是newdoc,两者都是处理大文本。
考题:用php写出显示客户端IP与服务器IP的代码
答:客户端echo $_SERVER['REMOTE_ADDR'] 服务器IP echo $_SERVER['SERVER_ADDR']
考题:__FILE__
答:获取文件名字和文件路径。
3、php运算符优先级
试题:
4、流程控制考点
考题:
真题:
php如何优化多个if...elseif语句?
答:可能性越大的越放前面,如果判断的内容复杂,判断的值符合switch...case,则使用switch...case,效率更高
5、自定义函数及内部函数考察点
真题:
引用传递传参:
注意:引用传递,只能传变量,不能传常数。
函数的返回值:
return强制返回。
函数引用返回:
例题:
外部文件引入:
区别:
系统内置函数考点:
重点:字符串函数和数组函数
真题:
5、正则表达式考点
两种方式取消贪婪模式
、、、、、、、、、
////////////中文utf-8的匹配
////举例
////举例
6、文件与目录处理考点
举例:、、、、、在文件开头不断加入Hello World
、、举例:遍历所有目录
7、绘话控制技术
通过GET参数传递
setcookie($name,$value,$expire,$path.$domain,$secure)
$_COOKIE
cookie的优缺点:
优点:存储于客户端,不会浪费服务器资源。缺点:敏感的信息不能做cookeie,一旦客户禁止cookie,将无法调用。所有不建议使用
session:
优点:客户无法禁用,session基于cookie,存储于服务器端。
session配置信息: