PHP面试必备:33道常见面试题解析

版权申诉
0 下载量 99 浏览量 更新于2024-09-11 收藏 100KB PDF 举报
"33道PHP常见面试题及答案" 这些面试题目涵盖了PHP的基础知识、错误处理、HTTP协议、数组操作、正则表达式、服务器配置以及文件包含等多个方面,是评估PHP开发者技能的重要参考。以下是这些问题和答案的详细解析: 1. PHP中,当前脚本的名称(不包括路径和查询字符串)存储在`$_SERVER['PHP_SELF']`变量中,而链接到当前页面的URL通常记录在`$_SERVER["HTTP_REFERER"]`中。 2. 未给出具体程序段,所以无法提供确切的答案。但通常,这个问题可能涉及到变量或表达式的计算结果。 3. 在HTTP 1.0中,状态码401表示“未授权”,意味着客户端没有有效的身份验证凭证。若要返回“找不到文件”的提示,可以使用`header()`函数设置响应状态码,如`header("HTTP/1.0 404 Not Found")`。 4. `arsort()`函数用于对关联数组进行逆向排序并保持索引关系。`error_reporting(2047)`设定错误报告级别,2047表示开启所有错误和警告报告。 5. 正则表达式`/<[^>].*?>.*?<\/>/si`可以匹配并去除HTML中的JS/VBS脚本标签及其内容。`s`标志使`.`能匹配换行符,`i`标志使匹配不区分大小写。 6. Apache模块方式安装PHP时,需要在http.conf配置文件中加载PHP模块,如`LoadModule php5_module "D:/xampp/apache/bin/php5apache2.dll"`,然后配置Apache处理所有.php扩展名的文件为PHP脚本,例如:`AddType application/x-httpd-php .php .php5 .php4 .php3 .phtml`。 7. `include`和`require`都是用于包含文件,但`require`在文件未找到时会立即停止脚本并抛出致命错误,而`include`只会产生一个警告。为了防止重复包含,可以使用`require_once()`和`include_once()`。 8. 类的属性可以通过序列化(serialize)保存到session中,然后通过反序列化(unserialize)恢复。这允许在不同请求间持久化对象状态。示例代码:`session_start(); $_SESSION['my_class'] = serialize($myObject);` 和 `session_start(); $myObject = unserialize($_SESSION['my_class']);` 这些面试题展示了PHP开发者的必备技能,包括基础语法、错误处理、HTTP协议理解、服务器配置、字符串和数组操作、类和对象的使用等。对于准备PHP面试的开发者来说,这些都是需要深入理解和掌握的关键知识点。