- 1
- 0
- 约5.52千字
- 约 9页
- 2026-07-26 发布于河北
- 举报
4年PHP开发经验面试题(含实战详细答案)
一、PHP核心基础(实战向)
1、PHP中isset、empty、is_null的真实区别?工作中怎么选?
详细答案:
这三个是日常写接口最常用的判断,很多人混用,实际区别很明确:
1)is_null:只判断变量是否严格为null。变量未定义、空字符串、0、空数组都返回false,只有真正赋值$a=null才返回true。基本业务场景很少用,一般只做初始化判断。
2)empty:判断变量是否为空值,判定范围最广。null、空字符串、0、0、false、空数组、未定义变量,empty全部返回true。适合做「参数是否为空、无效」的通用判断。
3)isset:判断变量是否存在且不为null。变量未定义返回false,变量值为空字符串、0、空数组都返回true。
工作规范:
-校验接口入参:优先用empty(),避免0、空字符串这类有效业务值被误判;
-判断变量是否初始化、防止未定义报错:用isset();
-几乎不用is_null做业务判断。
2、PHP传值和传引用的区别?什么场景必须用引用?
详细答案:
默认情况下,PHP变量赋值、函数传参都是传值,会拷贝一份变量副本,函数内部修改不会影响外部原变量。
传引用需要加,相当于内外共用同一个变量地址,内部修改直接改变外部原值,不会拷贝数据。
工作使
原创力文档

文档评论(0)