PHP中高级面试题及详细答案(实战向).docxVIP

  • 1
  • 0
  • 约5.52千字
  • 约 9页
  • 2026-10-13 发布于河北
  • 举报

PHP中高级面试题及详细答案(实战向).docx

PHP中高级面试题及详细答案(实战向)

一、PHP核心基础与原理(中高级高频)

1、简述PHP的变量作用域,以及static、global的真实使用场景和坑点

答案:

PHP变量作用域分为四种:全局作用域、局部(函数)作用域、静态作用域、超全局作用域。

1)全局变量:函数外定义,函数内无法直接调用,必须通过global关键字或$GLOBALS访问。

2)局部变量:函数内定义,函数执行结束后立即销毁,无法外部访问。

3)static静态变量:仅初始化一次,函数执行结束不销毁,保留上一次的值,常驻内存。

4)超全局变量:$_GET、$_POST、$_SERVER等,全脚本任意位置可访问。

使用坑点:

①global是引用全局变量,函数内修改会直接改动全局变量,多函数共用易造成数据污染;

②static变量在多次调用、循环、递归中会持续累加,不手动重置会出现脏数据;

③静态变量不支持动态赋值,初始化必须是常量,不能使用变量、函数返回值初始化。

2、PHP传值和传引用的区别?什么场景必须用引用传参?

答案:

传值:默认方式,函数内部会拷贝一份变量副本,内部修改不影响原始变量,占用额外内存,数据量大时性能差。

传引用:使用符号,函数内部直接操作原始变量内存地址,无副本,修改直接作用于原变量,节省内存。

必须用引用的场景:

1)超大数组、大对象参数传递,避免拷贝消耗内存;

2)函数需

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档