0

0

PHP面试题之问答题最新汇总

藏色散人

藏色散人

发布时间:2021-04-08 13:44:39

|

3359人浏览过

|

来源于learnku

转载

本篇文章给大家分享PHP面试题之问答题最新汇总,有一定的参考价值,需要的朋友可以参考一下,希望对大家有所帮助。

相关推荐:《PHP面试题之应用题最新汇总》《PHP面试题之概念题最新汇总》

1. echo()、print()、print_r() 的区别

echo()、print() 是 php 语句;print_r() 是函数,

  • print()只能打印出简单类型变量的值(如int,string),有返回值。
  • print_r()可以打印出复杂类型变量的值(如数组,对象)
  • echo 输出一个或者多个字符串,无返回值

2. 字符串中单引号与双引号的区别

  • 单引号不能解释变量,而双引号可以解释变量。
  • 单引号不能转义字符,在双引号中可以转义字符。

3. error_reporting 作用

error_reporting() 设置 PHP 的报错级别并返回当前级别。

4. SESSION 与 COOKIE 的区别

  • session 存储在服务器端,cookie 保存在客户端。

  • session比较安全,cookie 用某些手段可以修改,不安全。

  • session 的运行依赖 sesseion id,而 session id 存在 cookie 中。如果禁用 cookie,session 会失效。(但可以通过其他方式实现,比如在 url 中传递 session id)。

    立即学习PHP免费学习笔记(深入)”;

  • session 可以放在 文件、数据库或内存中。默认存储在服务器的一个文件中。

5. get 和 post 的区别

get是显式的,数据从url中可以看到,传输的数据量小,安全性低;

post是隐式的,传送的数据量较大,安全性较高 。

6. 写出下面代码的执行结果

解析:八进制12转为二进制001010,二进制再转为十进制为10。十六进制12转为二进制00010010,二进制再转为十进制18。所以结果为  12 10 18。

7. 解决 url 出现中文乱码

使用 urlencode() 对中文进行编码。

8. 把 GB2312 格式的字符串转换成 UTF-8

iconv('GB2312','UTF-8','悄悄是别离的笙箫');

9. 字符串转化为数组

$str = "hello word;From-ajiang";str_split($str, 3);
explode(";", $str);preg_split("/-/", $str);

10. 字符串替换函数

$str = 'linux and php';
str_replace('linux', 'windows', $str);
preg_replace('/linux|php/', 'js', $str);

11. 字符串查找函数

preg_match("/php/i", "PHP is the web scripting language of choice.");
$userinfo = "Name: PHP 
Title: Programming Language"; preg_match_all ("/(.*)<\/b>/U", $userinfo, $pat_array); strpos("I love php, I love php too!","php"); // 首次匹配的位置 strrpos("I love php, I love php too!","php"); // 最后匹配的位置

12. 使用 redis 有哪些好处

  • 速度快:因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1)。

  • 支持丰富数据类型:支持string,list,set,sorted set,hash。

  • 支持事务:可以一次执行多个命令。失败不会回滚,会继续执行。

  • 丰富的特性:可用于缓存,消息,按key设置过期时间,过期后将会自动删除

    Frase
    Frase

    Frase是一款出色的长篇 AI 写作工具,快速创建seo优化的内容。

    下载

13. redis 相比 memcached 有哪些优势

  • memcached所有的值均是简单的字符串,redis作为其替代者,支持更为丰富的数据类型。

  • redis 的速度比 memcached 快很多 。

  • redis 可以持久化其数据

14. 在命令行下运行PHP脚本,同时传递参数

首先进入php安装目录,-f 参数指定要执行的 php 文件,参数直接接在文件名后面,多个参数用空格隔开。-r 表示直接执行 php 代码 。

如果传递参数,脚本首先会检查 $argc,以确保自变量的数量符合要求。然后会从 $argv 里提取出每一个自变量,把它们打印输出到标准的输出。

$ php -f d:/wamp/test.php [参数1 参数2 ...] $ php -r phpinfo();

15. crontab 定时任务语法

分 时 日 月 周 执行的程序

案例: 一个备份程序mybackup,需要在周一到周五下午1点和晚上8点运行,命令如下:

 0 13,20 * * 1,2,3,4,5 mybackup // 或 0 13,20 * * 1-5 mybackup

16. 键入网址再按下回车

  • 浏览器从地址栏的输入中获得服务器的 IP 地址和端口号;

  • 浏览器用 TCP 的三次握手与服务器建立连接;

  • 浏览器向服务器发送拼好的报文;

  • 服务器收到报文后处理请求,同样拼好报文再发给浏览器;

  • 浏览器解析报文,渲染输出页面。

17. php 数组相关的函数

array_combine()-----通过合并两个数组来创建一个新数组
array_chunk()-------将一个数组分割成多个
array_merge()-------把两个或多个数组合并成一个数组
array_slice()-------在数组中根据条件取出一段值
array_diff()--------返回两个数组的差集数组
array_intersect()---计算数组的交集
array_search()------在数组中搜索给定的值
array_splice()------移除数组的一部分且替代它
array_key_exists()--判断某个数组中是否存在指定的key
array_flip()--------交换数组中的键和值
array_reverse()-----将原数组中的元素顺序翻转,创建新的数组并返回
array_unique()------移除数组中重复的值
range()-------------创建并返回一个包含指定范围的元素的数组

18. PHP 数组排序

sort()   - 以升序对数组排序
rsort()  - 以降序对数组排序
asort()  - 根据值,以升序对关联数组进行排序
ksort()  - 根据键,以升序对关联数组进行排序
arsort() - 根据值,以降序对关联数组进行排序
krsort() - 根据键,以降序对关联数组进行排序

19. $_SERVER

// http://www.test.com/testA/test?name=aj&age=23
"HTTP_HOST" => "www.test.com"
"SERVER_NAME" => "www.test.com"
"SERVER_PORT" => "80"               // 服务器端口
"SERVER_ADDR" => "127.0.0.1"        // 服务器IP
"REMOTE_PORT" => "13675"            // 客户端IP
"REMOTE_ADDR" => "127.0.0.1"        // 客户端口
"REQUEST_URI" => "/testA/test?name=aj&age=23"          // 参数
"SCRIPT_NAME" => "/index.php"
"QUERY_STRING" => "s=//testA/test&name=aj&age=23"
"SCRIPT_FILENAME" => "F:/projectName/public/index.php" // 当前执行脚本路径

20. 魔术方法

__construct(),类的构造函数
__destruct(),类的析构函数

__call(),在对象中调用一个不可访问方法时调用
__callStatic(),用静态方式中调用一个不可访问方法时调用

__get(),获得一个不存在的类成员变量时调用
__set(),设置一个不存在的类成员变量时调用

__isset(),当对不可访问属性调用isset()或empty()时调用
__unset(),当对不可访问属性调用unset()时被调用。

__sleep(),执行serialize()时,先会调用这个函数
__wakeup(),执行unserialize()时,先会调用这个函数
__toString(),类被当成字符串时的回应方法

__invoke(),调用函数的方式调用一个对象时的回应方法
__set_state(),调用var_export()导出类时,此静态方法会被调用。

__clone(),当对象复制完成时调用
__autoload(),尝试加载未定义的类
__debugInfo(),打印所需调试信息

21. PHP 的基本变量类型

  • 四种标量类型:boolean (布尔型)、integer (整型)、float (浮点型, 也称作 double)、string (字符串)
  • 两种复合类型:array (数组)、object (对象)
  • 两种特殊类型:resource(资源)、NULL(NULL)


本文章首发在 LearnKu.com 网站上。

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

php

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Java JVM 原理与性能调优实战
Java JVM 原理与性能调优实战

本专题系统讲解 Java 虚拟机(JVM)的核心工作原理与性能调优方法,包括 JVM 内存结构、对象创建与回收流程、垃圾回收器(Serial、CMS、G1、ZGC)对比分析、常见内存泄漏与性能瓶颈排查,以及 JVM 参数调优与监控工具(jstat、jmap、jvisualvm)的实战使用。通过真实案例,帮助学习者掌握 Java 应用在生产环境中的性能分析与优化能力。

0

2026.01.20

PS使用蒙版相关教程
PS使用蒙版相关教程

本专题整合了ps使用蒙版相关教程,阅读专题下面的文章了解更多详细内容。

53

2026.01.19

java用途介绍
java用途介绍

本专题整合了java用途功能相关介绍,阅读专题下面的文章了解更多详细内容。

57

2026.01.19

java输出数组相关教程
java输出数组相关教程

本专题整合了java输出数组相关教程,阅读专题下面的文章了解更多详细内容。

35

2026.01.19

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

9

2026.01.19

xml格式相关教程
xml格式相关教程

本专题整合了xml格式相关教程汇总,阅读专题下面的文章了解更多详细内容。

10

2026.01.19

PHP WebSocket 实时通信开发
PHP WebSocket 实时通信开发

本专题系统讲解 PHP 在实时通信与长连接场景中的应用实践,涵盖 WebSocket 协议原理、服务端连接管理、消息推送机制、心跳检测、断线重连以及与前端的实时交互实现。通过聊天系统、实时通知等案例,帮助开发者掌握 使用 PHP 构建实时通信与推送服务的完整开发流程,适用于即时消息与高互动性应用场景。

15

2026.01.19

微信聊天记录删除恢复导出教程汇总
微信聊天记录删除恢复导出教程汇总

本专题整合了微信聊天记录相关教程大全,阅读专题下面的文章了解更多详细内容。

130

2026.01.18

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

138

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 8.9万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 8.3万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号