PHP面试必备知识点:预定义变量、错误报告、SQL连接
需积分: 10 119 浏览量
更新于2024-09-10
2
收藏 43KB DOC 举报
"php面试试题及答案"
在PHP面试中,了解和掌握基本的语法、预定义变量、错误处理、数组操作、文件包含、对象序列化、数据库查询以及配置选项等知识点至关重要。以下是对给定面试题目的详细解析:
1. `$_SERVER['PHP_SELF']` 是一个预定义变量,它包含了当前执行脚本的文件名,不包括路径和查询字符串,常用于表单提交后的自我引用。而 `$_SERVER['HTTP_REFERER']` 记录了用户是从哪个页面链接过来的,即上一页的URL。
2. PHP中的模运算 `%` 对负数也适用。执行 `echo 8 % (-2)` 将输出 `0`,因为 `-2` 能被 `8` 整除两次,余数为 `0`。
3. HTTP状态码 `401 Unauthorized` 表示客户端在请求受保护的资源时没有提供有效的身份验证信息。当服务器返回 "找不到文件" 的提示时,可以使用 `header` 函数发送自定义HTTP响应,如 `header("HTTP/1.0 404 Not Found")`。
4. `arsort()` 函数用于对关联数组进行逆向(降序)排序,同时保持键与值的关联。
5. 在Apache中以模块方式安装PHP,需要在 `http.conf` 配置文件中加载PHP模块,使用 `LoadModule` 命令,并通过 `AddType` 命令指定PHP处理的文件类型。例如:`LoadModule php5_module "D:/xampp/apache/bin/php5apache2.dll"` 和 `AddType application/x-httpd-php .php`。
6. `include` 和 `require` 都用于包含其他文件,但处理错误的方式不同。`include` 产生警告,而 `require` 产生致命错误。`include_once` 和 `require_once` 则确保文件只被包含一次。
7. PHP的 `serialize()` 和 `unserialize()` 函数允许将类的属性序列化存储到 `session` 中,然后在后续请求中通过 `unserialize()` 恢复对象状态。
8. 默认情况下,函数参数不能是变量的引用。若需传递引用,需在php.ini中设置 `allow_call_time_pass_reference` 为 `on`。
9. SQL中的 `LEFT JOIN` 用于实现左连接,返回左边表(在本例中是 `tbl_user`)的所有记录,即使在右边表(`tbl_score`)中没有匹配项。如果某学生在 `tbl_score` 中没有记录,结果仍将显示该学生的姓名,但对应的成绩列将是 `NULL`。打印各学生姓名及其各科总成绩的SQL语句可能是这样的:
```sql
SELECT name, COUNT(score) AS sum_s
FROM tbl_user
LEFT JOIN tbl_score ON tbl_user.ID = tbl_score.ID
GROUP BY tbl_user.ID
```
这个查询会统计每个学生的考试科目总数,并显示其姓名。
以上就是PHP面试中涉及的一些关键知识点,理解并掌握这些内容对于提升PHP开发者的技能和应对面试都非常有帮助。
2015-06-04 上传
2011-11-17 上传
2012-03-06 上传
2021-10-30 上传
2024-08-14 上传
2023-07-23 上传
2023-02-26 上传
2010-06-20 上传
2022-07-14 上传
imtool
- 粉丝: 44
- 资源: 5
最新资源
- BottleJS快速入门:演示JavaScript依赖注入优势
- vConsole插件使用教程:输出与复制日志文件
- Node.js v12.7.0版本发布 - 适合高性能Web服务器与网络应用
- Android中实现图片的双指和双击缩放功能
- Anum Pinki英语至乌尔都语开源词典:23000词汇会话
- 三菱电机SLIMDIP智能功率模块在变频洗衣机的应用分析
- 用JavaScript实现的剪刀石头布游戏指南
- Node.js v12.22.1版发布 - 跨平台JavaScript环境新选择
- Infix修复发布:探索新的中缀处理方式
- 罕见疾病酶替代疗法药物非临床研究指导原则报告
- Node.js v10.20.0 版本发布,性能卓越的服务器端JavaScript
- hap-java-client:Java实现的HAP客户端库解析
- Shreyas Satish的GitHub博客自动化静态站点技术解析
- vtomole个人博客网站建设与维护经验分享
- MEAN.JS全栈解决方案:打造MongoDB、Express、AngularJS和Node.js应用
- 东南大学网络空间安全学院复试代码解析