📜  PHP 面试常见问题

📅  最后修改于: 2020-10-09 01:01:21             🧑  作者: Mango

PHP面试问题

许多公司都提供了PHP面试问题和答案。让我们看一下最重要的PHP面试问题列表。

1)什么是PHP?

PHP代表超文本预处理器。它是一种开源的服务器端脚本语言,广泛用于Web开发。它支持许多数据库,如MySQL,Oracle,Sybase,Solid,PostgreSQL,通用ODBC等。

更多细节…

2)PHP中的PEAR是什么?

PEAR是可重用的PHP组件的框架和存储库。PEAR代表PHP扩展和应用程序存储库。它包含所有类型的PHP代码段和库。

它还提供了一个命令行界面来自动安装“软件包”。

3)谁被称为PHP之父?

拉斯穆斯·勒多夫(RasmusLerdorf)

4)PHP的旧名称是什么?

PHP的旧名称是PersonalHomePage。

5)解释黑白静态和动态网站的区别?

在静态网站中,运行脚本后无法更改内容。您无法在网站上进行任何更改。它是预定义的。

在动态网站中,脚本的内容可以在运行时更改。每次用户访问或重新加载时都会重新生成其内容。谷歌,雅虎和每个搜索引擎都是动态网站的例子。

6)PHP中脚本引擎的名称是什么?

支持PHP的脚本引擎称为ZendEngine2。

7)解释PHP4和PHP5之间的区别。

PHP4不支持oops概念,而是使用ZendEngine1。

PHP5支持oops概念并使用ZendEngine2。

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
  • CodeIgniter
  • Yii 2
  • Symfony
  • Zend Framework等

10)PHP与哪种编程语言相似?

PHP已从Perl和C借用了其语法。

11)列出PHP7的一些功能。

  • 标量类型声明
  • 返回类型声明
  • 空合并运算符 (??)
  • 飞船运算符
  • 使用define()的常量数组
  • 匿名班
  • Closure :: call方法
  • 团体使用声明
  • 生成器返回表达式
  • 发电机委托
  • 太空船运算符

12)PHP中的“ echo”是什么?

PHPecho输出一个或多个字符串。它是一种语言构造而不是一种函数。因此,不需要使用括号。但是,如果要传递多个参数以进行回显,则需要使用括号。

句法:

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() 函数的用途是什么?

PHPcount()函数用于对数组或某个对象中的元素总数进行计数。

23)PHP中header() 函数的用途是什么?

header()函数用于将原始HTTP标头发送到客户端。在发送实际输出之前,必须先调用它。例如,在使用此函数之前,您不能打印任何HTML元素。

24)isset()有什么函数?

isset()函数检查变量是否已定义并且不为null。

25)解释PHP参数化函数。

PHP参数化函数是带有参数的函数。您可以在函数内传递任意数量的参数。这些给定的参数充当函数内部的变量。它们在函数名称后的括号内指定。输出取决于作为参数传递给函数的动态值。

26)解释PHP可变长度参数函数

PHP支持可变长度参数函数。这意味着您可以在函数传递0、1或n个参数。为此,您需要在参数名称之前使用3个椭圆(点)。自PHP5.6起,为可变长参数实现了3点概念。

27)解释PHP可变长参数函数。

PHP支持可变长度参数函数。这意味着您可以传递0、1或n个参数。

28)PHP中的数组是什么?

数组用于将多个值存储在一个值中。在PHP中,它对键和值对的映射进行排序。它保存数据类型的集合。

29)PHP中有几种类型的数组?

PHP中存在三种类型的数组:

  • 索引数组:具有数字键的数组。
  • 关联数组:每个键都有其特定值的数组。
  • 多维数组:本身包含一个或多个数组的数组。

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)如何在没有提交按钮的情况下提交表单?

您可以使用JavaScriptSubmit()函数提交表单,而无需显式单击任何提交按钮。

36)在PHP中包括文件的方法是什么?

PHP允许您包含文件,以便可以再次使用页面内容。有两种方法可以在PHP中添加文件。

  • 包括
  • 要求

37)区分需求和包含?

Require和include都用于包含文件,但是如果未找到数据,则include发送警告,而require发送致命错误。

38)在PHP中解释setcookie() 函数 ?

PHPsetcookie()函数用于通过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引擎创建一个逻辑对象来保存随后的HTTP请求中的数据,这称为会话。

会话通常存储临时数据,以允许多个PHP页面为同一用户提供完整的功能事务。

简单来说,它维护用户(浏览器)的数据。

41)将变量注册到会话中的方法是什么?


42)PHP中的$ _SESSION是什么?

会话在服务器上的临时目录中创建一个文件,该目录中存储了已注册的会话变量及其会话ID。在访问期间,该数据将可用于网站上的所有页面。

临时记录的区域由php.ini文档中称为session.save_path的设置控制。

在会话开始时,会发生以下情况-

  • PHP首先为该客户端的特定会话制作一个会话ID的两个副本,该会话ID是32个十六进制数字的任意字符串 ,例如3c7foj34c3jjhkyepop2fc937e3443。
  • 唯一会话ID的一份副本会自动发送给用户的计算机,以备将来进行同步之用,并且在服务器端维护一份副本,直到会话运行为止。
  • 每当您要访问网站或Web应用程序的页面时,当前用户的会话ID都将与HTTP标头相关联,并将与服务器上维护的会话ID进行比较。完成比较过程后,您可以轻松访问网站或Web应用程序的页面
  • 会话在用户关闭浏览器时结束,或者在离开网站后,服务器将在预定时间(通常为30分钟)后终止会话。

43)什么是PHP session_start()和session_destroy() 函数?

PHPsession_start()函数用于启动会话。它从新开始或恢复当前会话。如果会话已经创建,它将返回当前会话。如果会话不可用,它将创建并返回新的会话。

44)会话和cookie有什么区别?

会话和cookie之间的主要区别在于,cookie以文本文件格式存储在用户计算机上,而会话则存储在服务器端。

Cookies不能容纳多个变量,另一方面,Session可以容纳多个变量。

您可以手动设置Cookie的有效期,而会话仅在打开浏览器时保持活动状态。

45)编写语法以在PHP中打开文件吗?

PHPfopen()函数用于打开文件或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写文件?

PHPfwrite()和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中创建数据库连接和查询?

从PHP4.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种错误。

  • 注意:这些是非严重错误。这些错误不会显示给用户。
  • 警告:这些是更严重的错误,但不会导致脚本终止。默认情况下,这些错误会显示给用户。
  • 致命错误:这些是最严重的错误。这些错误可能是由于脚本的立即终止引起的。

58)如何停止执行PHP脚本?

exit()函数用于停止PHP脚本的执行。

59)PHP中的加密功能是什么?

CRYPT()和MD5()

60)PHP中的htaccess是什么?

.htaccess是Apache服务器上的配置文件。您可以使用Apache配置文件(如.htaccess和httpd.conf)中的指令来更改配置设置。

61)解释PHP explode() 函数。

PHPexplode()函数将字符串分成数组。

62)解释PHP split() 函数。

PHPsplit()函数通过正则表达式将字符串拆分为数组。

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值。

关于Cookie的一些重要事项:

  • Cookies会以加密形式验证用户身份后,维护在后端生成的会话ID,并且该cookie必须驻留在计算机的浏览器中
  • 您只能存储不是对象的字符串值,因为您不能在网站或Web应用程序中访问任何对象
  • 范围:-多页。
  • 默认情况下,Cookie是临时的,而临时性Cookie仅保存在浏览器中。
  • 默认情况下,Cookie是特定于URL的,这意味着Yahoo不支持Gmail,反之亦然。
  • 每个站点可以在一个网站或Web应用程序中创建20个Cookie
  • Cookie的初始大小为50个字节。
  • Cookie的最大大小为4096个字节。

68)PHP中解析器的重要性是什么?

PHP解析器从开始标记到结束标记解析PHP开发的网站。标签指示从哪里开始和结束PHP代码。换句话说,打开和关闭标签决定了PHP中关闭标签的PHP脚本语法的范围

?>PHP中关闭标签的语法

69)我们如何使用PHP和MySQL创建数据库?

使用PHP创建MySQL数据库的必要步骤是:

  • 从您的PHP脚本建立与MySQL服务器的连接
  • 如果连接成功,请编写SQL查询以创建数据库并将其存储在字符串变量中。
  • 执行查询。