史上最全!PHP面试题和知识点汇总

史上最全!PHP面试题和知识点汇总

文章图片
许多公司都提供了PHP面试问题和答案。让我们看一下最重要的PHP面试问题列表。
1)什么是PHP?
PHP代表超文本预处理器。它是一种开放源代码的服务器端脚本语言, 广泛用于Web开发。它支持许多数据库, 如MySQL, Oracle, Sybase, Solid, PostgreSQL, 通用ODBC等。
更多细节…
2)PHP中的PEAR是什么?
PEAR是可重用的PHP组件的框架和存储库。 PEAR代表PHP扩展和应用程序存储库。它包含所有类型的PHP代码段和库。
它还提供了一个命令行界面来自动安装” 软件包” 。
3)谁被称为PHP之父?
拉斯穆斯·勒多夫(Rasmus Lerdorf)
4)PHP的旧名称是什么?
PHP的旧名称是Personal Home Page。
5)解释黑白静态和动态网站的区别?
在静态网站中, 运行脚本后无法更改内容。你无法在网站上进行任何更改。它是预定义的。
【史上最全!PHP面试题和知识点汇总】在动态网站中, 脚本的内容可以在运行时更改。每次用户访问或重新加载时, 都会重新生成其内容。谷歌, 雅虎和每个搜索引擎都是动态网站的例子。
6)PHP中脚本引擎的名称是什么?
支持PHP的脚本引擎称为Zend Engine 2。
7)解释PHP4和PHP5之间的区别。
PHP4不支持oops概念, 而是使用Zend Engine 1。
PHP5支持oops概念并使用Zend Engine 2。
8)PHP中流行的内容管理系统(CMS)是什么?
  • WordPress:WordPress是基于PHP和MySQL的免费开放源内容管理系统(CMS)。它包括一个插件体系结构和模板系统。它主要与博客联系在一起, 但支持另一种Web内容, 其中包含更多传统的邮件列表和论坛, 媒体展示和在线商店。
  • Joomla:Joomla是由Open Source Matters, Inc创建的用于分发Web内容的免费开放源内容管理系统(CMS)。它基于可独立于CMS使用的模型-视图-控制器Web应用程序框架。 。
  • Magento:Magento是Varien Inc.开发的一种开源电子贸易程序, 对在线业务非常有价值。它具有灵活的测量设计, 功能多样, 具有许多对客户有用的控制选择。 Magento利用E-trade阶段为组织提供了极端的电子商务安排和广泛的支持网络。
  • Drupal:Drupal是一个用PHP开发并以GNU(通用公共许可证)发行的CMS平台。
9)PHP中流行的框架是什么?
  • CakePHP
  • 这是2
  • Symfony
  • Zend Framework等
10)PHP与哪种编程语言相似?
PHP已从Perl和C借用了其语法。
11)列出PHP7的一些功能。
  • 标量类型声明
  • 返回类型声明
  • 空合并运算符(??)
  • 飞船操作员
  • 使用define()的常量数组
  • 匿名班
  • Closure :: call方法
  • 团体使用声明
  • 生成器返回表达式
  • 发电机委托
  • 太空船操作员
12)PHP中的” echo” 是什么?
PHP echo输出一个或多个字符串。它是语言构造而不是功能。因此, 不需要使用括号。但是, 如果要传递多个参数以进行回显, 则需要使用括号。
语法
void echo ( string $arg1 [, string $... ] )

更多细节…
13)什么是PHP中的” 打印” ?
PHP打印输出一个字符串。它是语言构造而不是功能。因此, 参数列表不需要使用括号。与echo不同, 它总是返回1。
语法
int print ( string $arg)

更多细节…
14)PHP中的” echo” 和” print” 有什么区别?
Echo可以输出一个或多个字符串, 但是print只能输出一个字符串, 并且始终返回1。
回声比打印更快, 因为它不返回任何值。
15)如何在PHP中声明变量?
PHP变量是保存数据的内存位置的名称。它是临时存储。
语法
$variableName=value;

更多细节…
16)$ message和$$ message之间有什么区别?
$ message存储变量数据, 而$$ message用于存储变量变量。
$ message存储固定数据, 而$$ message中存储的数据可以动态更改。
更多细节…
17)在PHP中定义常量的方式有哪些?
PHP常量是在脚本执行期间不能更改的名称或标识符。 PHP常量有两种定义方式:
  • 使用define()函数
  • 使用const()函数
更多细节…
18)PHP中的魔术常数是什么?
PHP魔术常量是预定义的常量, 它们会根据使用情况而变化。它们以双下划线(__)开头, 并以双下划线(__)结尾。
更多细节…
19)PHP中有几种数据类型?
PHP数据类型用于保存不同类型的数据或值。有8种原始数据类型, 进一步分为3种类型:
  • 标量类型
  • 复合类型
  • 特殊类型
更多细节…
20)如何在PHP中做单行和多行注释?
PHP单行注释有两种方式:
  • 使用//(C ++样式单行注释)
  • 使用#(Unix Shell样式单行注释)
PHP多行注释是通过将其中的所有行都包含在内来进行的。
更多细节…
21)PHP中有哪些不同的循环?
对于, 一会儿, 每当做一会儿。
22)PHP中count()函数的用途是什么?
PHP count()函数用于对数组或某个对象中的元素总数进行计数。
23)PHP中header()函数的用途是什么?
header()函数用于将原始HTTP标头发送到客户端。在发送实际输出之前, 必须先调用它。例如, 在使用此功能之前, 你无法打印任何HTML元素。
24)isset()有什么作用?
isset()函数检查变量是否已定义并且不为null。
25)解释PHP参数化函数。
PHP参数化函数是带有参数的函数。你可以在函数内传递任意数量的参数。这些给定的参数充当函数内部的变量。它们在函数名称后的括号内指定。输出取决于作为参数传递给函数的动态值。
更多细节…
26)解释PHP可变长度参数函数
PHP支持可变长度参数函数。这意味着你可以在函数中传递0、1或n个参数。为此, 你需要在参数名称之前使用3个椭圆(点)。自PHP 5.6起, 为可变长参数实现了3点概念。
更多细节…
27)解释PHP可变长度参数函数。
PHP支持可变长度参数函数。这意味着你可以传递0、1或n个参数。
28)PHP中的数组是什么?
数组用于将多个值存储在一个值中。在PHP中, 它对键和值对的映射进行排序。它保存数据类型的集合。
更多细节…
29)PHP中有几种类型的数组?
PHP中存在三种类型的数组:
  1. 索引数组:具有数字键的数组。
  2. 关联数组:每个键都有其特定值的数组。
  3. 多维数组:在其内部包含一个或多个数组的数组。
30)解释一些PHP数组函数吗?
PHP中有许多数组函数:
  • array()
  • array_change_key_case()
  • array_chunk()
  • 计数()
  • 分类()
  • array_reverse()
  • array_search()
  • array_intersect()
更多细节…
31)索引数组和关联数组有什么区别?
索引数组包含索引形式的元素, 该索引形式由从0到1的数字表示。例如:
$season=array("summer", "winter", "spring", "autumn");

关联数组包含具有名称的元素。例如:
$salary=array("Sonoo"=> "350000", "John"=> "450000", "Kartik"=> "200000");

更多细节…
32)如何获取字符串的长度?
strlen()函数用于获取字符串的长度。
更多细节…
33)解释一些PHP字符串函数吗?
PHP中有许多数组函数:
  • strtolower()
  • strtoupper()
  • ucfirst()
  • lcfirst()
  • ucwords()
  • strrev()
  • strlen()
更多细节…
34)用PHP提交表单的方法有哪些?
有两种方法GET和POST。
更多细节…
35)如何在没有提交按钮的情况下提交表单?
你可以使用JavaScript Submit()函数提交表单, 而无需显式单击任何提交按钮。
36)在PHP中包括文件的方法是什么?
PHP允许你包含文件, 以便页面内容可以再次重用。有两种方法可以在PHP中添加文件。
  1. 包括
  2. 要求
更多细节…
37)区分需求和包含?
Require和include都用于包含文件, 但是如果找不到数据, 则include发送警告, 而require发送致命错误。
更多细节…
38)在PHP中解释setcookie()函数?
PHP setcookie()函数用于通过HTTP响应设置cookie。设置cookie后, 可以通过$ _COOKIE超全局变量访问它。
语法
bool setcookie ( string $name [, string $value [, int $expire = 0 [, string $path[, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] )

更多细节…
39)如何获取Cookie值?
echo $_COOKIE ["user"];

更多细节…
40)什么是会议?
PHP Engine创建一个逻辑对象来保存后续HTTP请求(称为会话)中的数据。
会话通常存储临时数据, 以允许多个PHP页面为同一用户提供完整的功能事务。
简而言之, 它维护用户(浏览器)的数据。
更多细节…
41)将变量注册到会话中的方法是什么?
< ?phpSession_register($ur_session_var); ?>

42)PHP中的$ _SESSION是什么?
会话在服务器上的临时目录中创建一个文件, 该目录中存储了已注册的会话变量及其会话ID。在访问期间, 该数据将可用于网站上的所有页面。
临时记录的区域由php.ini文档中称为session.save_path的设置控制。
在会话开始时, 发生了以下事情-
  1. PHP首先为该客户端的特定会话创建一个会话ID的两个副本, 该会话ID是32个十六进制数字的任意字符串, 例如3c7foj34c3jjhkyepop2fc937e3443。
  2. 唯一会话ID的一份副本会自动发送给用户的计算机, 以备将来进行同步之用, 并且在服务器端维护一份副本, 直到会话运行为止。
  3. 每当你要访问网站或Web应用程序的页面时, 当前用户的会话ID都将与HTTP标头相关联, 并将其与服务器上维护的会话ID进行比较。完成比较过程后, 你可以轻松访问网站或Web应用程序的页面
  4. 会话在用户关闭浏览器时结束, 或者在离开站点后, 服务器将在预定时间(通常为30分钟)后终止会话。
43)什么是PHP session_start()和session_destroy()函数?
PHP session_start()函数用于启动会话。它从新开始或恢复当前会话。如果会话已经创建, 它将返回当前会话。如果会话不可用, 它将创建并返回新的会话。
更多细节…
44)会话和cookie有什么区别?
会话和cookie之间的主要区别在于, cookie以文本文件格式存储在用户计算机上, 而会话则存储在服务器端。
Cookies不能容纳多个变量, 另一方面, Session可以容纳多个变量。
你可以手动设置Cookie的有效期, 而会话仅在打开浏览器时保持活动状态。
45)编写语法以在PHP中打开文件吗?
PHP fopen()函数用于打开文件或URL并返回资源。它接受两个参数:$ filename和$ mode。
语法
resource fopen ( string $filename , string $mode [, bool $use_include_path = false [, resource $context ]] )

更多细节…
46)如何在PHP中读取文件?
PHP提供了各种功能来从文件读取数据。不同的功能允许你读取所有文件数据, 逐行读取数据以及逐字符读取数据。
PHP文件读取功能如下:
  • fread()
  • fgets()
  • fgetc()
更多细节…
47)如何用PHP写文件?
PHP fwrite()和fputs()函数用于将数据写入文件。要将数据写入文件, 你需要使用w, r +, w +, x, x +, c或c +模式。
更多细节…
48)如何在PHP中删除文件?
unlink()函数用于删除PHP中的文件。
bool unlink (string $filename)

更多细节…
49)从命令行执行PHP脚本的方法是什么?
你应该只运行PHP命令行界面(CLI)并指定要执行的脚本的文件名, 如下所示。
50)如何用PHP上传文件?
move_uploaded_file()函数用于在PHP中上传文件。
bool move_uploaded_file ( string $filename , string $destination )

更多细节…
51)如何用PHP下载文件?
readfile()函数用于下载PHP中的文件。
int readfile ( string $filename )

更多细节…
52)如何使用PHP发送电子邮件?
mail()函数用于通过PHP发送电子邮件。
bool mail($to, $subject, $message, $header);

更多细节…
53)如何将MySQL数据库与PHP连接?
有两种方法可以将MySQL数据库与PHP连接。程序和面向对象的样式。
更多细节…
54)如何在PHP中创建连接?
mysqli_connect()函数用于在PHP中创建连接。
resource mysqli_connect (server, username, password)

更多细节…
55)如何在PHP中创建数据库连接和查询?
从PHP 4.3开始, 不推荐使用mysql_reate_db()。现在, 你可以使用以下2个替代方法。
  • mysqli_query()
  • PDO :: _ query()
更多细节…
56)如何增加PHP脚本的执行时间?
默认情况下, PHP脚本的最大执行时间设置为30秒。如果脚本花费的时间超过30秒, PHP将停止脚本并返回错误。
你可以通过更改php.ini文件中的max_execution_time指令来更改脚本运行时间。
调用脚本时, set_time_limit函数将从零重新启动超时计数器。这意味着, 如果将默认计时器设置为30秒, 并且在函数set_time_limit()中指定了20秒, 则脚本将运行45秒。如果在此函数中指定了0sec, 脚本将花费无限的时间。
57)PHP中有哪些不同类型的错误?
PHP中存在3种错误。
  1. 注意:这些是非严重错误。这些错误不会显示给用户。
  2. 警告:这些是更严重的错误, 但不会导致脚本终止。默认情况下, 这些错误会显示给用户。
  3. 致命错误:这些是最严重的错误。这些错误可能是由于脚本的立即终止引起的。
58)如何停止执行PHP脚本?
exit()函数用于停止PHP脚本的执行。
59)PHP中的加密功能是什么?
CRYPT()和MD5()
60)PHP中的htaccess是什么?
.htaccess是Apache服务器上的配置文件。你可以使用Apache配置文件(如.htaccess和httpd.conf)中的指令来更改配置设置。
61)解释PHP explode()函数。
PHP explode()函数将字符串分成数组。
62)解释PHP split()函数。
PHP split()函数通过正则表达式将字符串拆分为数组。
63)我们如何在PHP中获取客户端的IP地址?
$_SERVER["REMOTE_ADDR"];

64)持久性Cookie的含义是什么?
永久性cookie永久存储在浏览器计算机上的cookie文件中。默认情况下, cookies是临时的, 如果我们关闭浏览器, cookies将被删除。
65)函数” imagetypes()” 的用途是什么?
imagetypes()给出当前版本的GD-PHP支持的图像格式和类型。
66)什么是include()和require()函数?
Include()函数用于将一个PHP文件的数据放入另一个PHP文件。如果发生错误, 那么include()函数会产生警告, 但不会停止脚本的执行, 它将继续执行。
Require()函数还用于将一个PHP文件的数据放入另一个PHP文件。如果有任何错误, 那么require()函数将产生警告和致命错误并停止脚本。
67)什么是饼干?如何在PHP中创建cookie?
Cookie用于标识用户。 Cookie是服务器在客户端计算机上安装的一点记录。相似的PC每次请求提供程序页面时, 也会发送cookie。使用PHP, 你可以创建和恢复cookie值。
关于Cookies的一些重要事项:
  1. Cookie会以加密形式验证用户身份后, 维护在后端生成的会话ID, 并且该cookie必须驻留在计算机的浏览器中
  2. 你只能存储不是对象的字符串值, 因为你不能在网站或Web应用程序中访问任何对象
  3. 范围:-多页。
  4. 默认情况下, Cookie是临时的, 而临时性Cookie仅保存在浏览器中。
  5. 默认情况下, Cookie是特定于URL的, 这意味着Yahoo不支持Gmail, 反之亦然。
  6. 每个站点可以在一个网站或Web应用程序中创建20个Cookie
  7. Cookie的初始大小为50个字节。
  8. Cookie的最大大小为4096个字节。
68)PHP中解析器的重要性是什么?
PHP解析器从开始标记到结束标记解析PHP开发的网站。标签指示从哪里开始和结束PHP代码。换句话说, 打开和关闭标签决定了PHP中关闭标签的PHP脚本语法的范围
< ?php中打开标签的语法
?> PHP中关闭标签的语法
69)我们如何使用PHP和MySQL创建数据库?
使用PHP创建MySQL数据库的必要步骤是:
  • 从你的PHP脚本建立与MySQL服务器的连接。
  • 如果连接成功, 请编写SQL查询以创建数据库并将其存储在字符串变量中。
  • 执行查询。
Java OOP面试问题
Java字符串和异常问题
JDBC面试问题
JSP面试问题
休眠面试问题
SQL面试题
Android面试题
MySQL面试问题
Java基础面试问题
Java多线程问题
Java Collection面试题
Servlet面试问题
春季面试问题
PL / SQL面试问题
Oracle面试问题
SQL Server面试问题

    推荐阅读