PHP面试题和答案 - [ 编程语言 ]

PHP面试题和答案

PHP是PHP Hypertext Preprocessor的递归首字母缩写。 它是一种广泛使用的开源编程语言,特别适用于创建动态网站和移动API。下面列出了许多公司提出的PHP面试问题和答案。 通过阅读下面PHP面试题和答案,有助于让您在面试过程中应付自如,也可作为测评或复习巩固PHP知识。

1. 什么是PHP?

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

2. 什么是PHP中的PEAR?

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

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

详细答案>>

3. PHP的创始人是谁?

PHP的创始人是:Rasmus Lerdorf

详细答案>>

4. 静态和动态网站有什么区别?

在静态网站中,运行脚本后无法更改内容。 无法更改网站中的任何内容。 它是预定义的。在动态网站中,脚本的内容可以在运行时更改。 每次用户访问或重新加载时都会重新生成其内容。 谷歌,雅虎和每个搜索引擎都是动态网站的例子。详细答案>>

5. PHP中脚本引擎的名称是什么?

支持PHP的脚本引擎称为:Zend Engine 2

详细答案>>

6. 解释说明PHP4和PHP5之间有哪些区别?

PHP4不支持oops概念并使用Zend Engine 1。
PHP5支持oops概念并使用Zend Engine 2。

详细答案>>

7. PHP中流行的内容管理系统(CMS)有哪些?

PHP中流行的内容管理系统(CMS)有:

  • WordPress
  • Joomla
  • Magento
  • Drupal
  • DEDECMS(国内)
  • PHPCMS(国内)
详细答案>>

8. PHP中流行的框架有哪些?

PHP中流行的框架有以下几种:

  • CakePHP
  • CodeIgniter
  • Yii 2
  • Symfony
  • Zend Framework
  • Thinkphp
  • Laravel
详细答案>>

9. PHP类似于哪种编程语言?

PHP从Perl和C借用了它的语法。

详细答案>>

10. 请列出PHP7的一些功能。

PHP7的一些功能如下: 标量类型声明返回类型声明空结合运算符Spaceship运算符使用define()的常量数组匿名尖Closure::call方法分组使用声明生成器返回表达式生成器代理详细答案>>

11. PHP中的“echo”是什么?

PHP echo输出一个或多个字符串。 它是一种语言结构,而不是一种函数。 因此不需要使用括号。但是,如果要将多个参数传递给echo,则需要使用括号。 语法: void echo (string $arg1 [, string $... ]) 详细答案>>

12. PHP中的“print”是什么?

PHP打印输出一个字符串。 它是一种语言结构,而不是一种功能。 因此参数列表不需要使用括号。 与echo不同,它总是返回1。 语法: int print ( string $arg) 详细答案>>

13. PHP中“echo”和“print”有什么区别?

PHP中“echo”和“print”的区别如下: echo可以输出一个或多个字符串,但print只能输出一个字符串并始终返回1。echo比print更快,因为它不返回任何值。详细答案>>

14. 如何在PHP中声明变量?

PHP变量是保存数据的内存位置的名称。 这是一个临时存储。

语法:

$variableName=value;
详细答案>>

15. 在PHP中定义常量的方法有哪些?

PHP常量是在执行脚本期间无法更改的名称或标识符。 PHP常量有两种定义:

  • 使用define()函数
  • 使用const()函数
详细答案>>

16. 什么是PHP中的魔术常量?

PHP魔术常量是预定义的常量,它们根据其使用情况而变化。 它们以双下划线(__)开头,以双下划线(__)结束。

详细答案>>

17. PHP中有多少数据类型?

PHP数据类型用于保存不同类型的数据或值。 有8种原始数据类型,可分为3大类型:

  • 标量类型
  • 复合类型
  • 特殊类型
详细答案>>

18. 如何在PHP中进行单行和多行注释?

PHP单行注释有两种方式: 使用//(C ++风格单行注释)使用#(Unix Shell风格单行注释)PHP多行注释是通过将所有行包含在/* */中来完成的。详细答案>>

19. PHP中有哪些循环语句结构?

PHP中有以下循环语句结构:

  • for, while, do-while 以及 foreach 这几种。
详细答案>>

20. PHP中count()函数的用途是什么?

PHP count()函数用于计算数组中的元素或对象的数量。

详细答案>>

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

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

详细答案>>

22. isset()函数的作用是什么?

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

详细答案>>

23. 请解释PHP参数化函数是什么?

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

详细答案>>

24. 请解释PHP可变长参数函数是什么?

PHP支持可变长度参数函数。表示可以在函数中传递0,1或n个参数。 为此,需要在参数名称前使用3个圆点。 从PHP 5.6开始,为可变长度参数实现了3个点概念。

详细答案>>

25. 请解释PHP变长参数函数是什么?

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

详细答案>>

26. PHP中的数组是什么?

数组用于以单值存储多个值。 在PHP中,它命令键对和值对的映射。它存储数据类型的集合。

详细答案>>

27. PHP中有多少种类型的数组?

PHP中有三种类型的数组:

  • 索引数组
  • 关联数组
  • 多维数组
详细答案>>

28. PHP有哪些数组函数?

PHP中有许多数组函数,一些常用的如下所示: array()array_change_key_case()array_chunk()count()sort()array_reverse()array_search()array_intersect()详细答案>>

29. 索引数组和关联数组有什么区别?

索引数组以索引形式保存元素,该数字由从0开始并以1递增的数字表示。例如: $season=array("summer","winter","spring","autumn"); 关联数组包含具有名称的元素。 例如: $sites=array("baidu"=>"百度","sina"=>"新浪","kaops"=&...详细答案>>

30. PHP如何获得字符串的长度?

在PHP中,可以使用strlen()函数来获取字符串的长度。

详细答案>>

31. 请列举一些PHP字符串函数?

PHP中有许多数组函数: strtolower()strtoupper()ucfirst()lcfirst()ucwords()strrev()strlen()详细答案>>

32. 在PHP中提交表单的方法有哪些?

在PHP中提交表单的方法有两种:

  • GET方法。
  • POST方法
详细答案>>

33. 如何在没有提交按钮的情况下提交表单?

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

详细答案>>

34. 在PHP中包含文件的方法有哪些?

PHP可以包含文件,以便可以再次重用页面内容。 有两种方法可以在PHP中包含文件。

  • include(include_once)
  • require(require_once)
详细答案>>

35. PHP包含文件的requireinclude有什么区别?

requireinclude两者都用于包含文件,但如果找不到文件include发送警告,而require发送致命错误。

详细答案>>

36. 请解释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 ]]]]]] ) 详细答案>>

37. 在PHP中如何检索cookie值?

通过访问$_COOKIE全局变量,并指定相关键值。

参考以下示例代码:

echo $_COOKIE ["user"];
详细答案>>

38. 什么是会话(session)?

PHP引擎创建一个逻辑对象,以便在后续HTTP请求中保留数据,这称为会话。 会话通常存储临时数据,以允许多个PHP页面为同一用户提供完整的功能事务。 简单地说,它维护用户(浏览器)的数据。详细答案>>

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

参考以下代码:

<?php  
session_register($ur_session_var);  
?>
详细答案>>

40. PHP中的$_SESSION是什么?

PHP $_SESSION是一个包含所有会话变量的关联数组。它用于设置和获取会话变量值。

详细答案>>

41. PHP session_start()session_destroy()函数是什么?

PHP session_start()函数用于启动会话。 它启动一个新的或恢复现有的会话。 如果已创建会话,则返回现有会话。 如果会话不可用,则会创建并返回新会话。

详细答案>>

42. 会话和cookie有什么区别?

会话和cookie之间的主要区别在于,cookie以文本文件格式存储在用户的计算机上,而会话存储在服务器端。 另一方面,Cookie不能容纳多个变量,但会话可以容纳多个变量。可以手动设置cookie的到期时间,而只要浏览器处于打开状态,会话才会保持活动状态。详细答案>>

43. 请编写在PHP中打开文件的语法。

PHP fopen()函数用于打开文件或URL并返回资源。 它接受两个参数:$filename和$mode。 语法: resource fopen ( string $filename , string $mode [, bool $use_include_path = false [, resource $context ]] ) 详细答案>>

44. 在PHP中如何读取文件?

PHP提供了从文件中读取数据的各种函数。 有不同的功能,允许读取所有文件数据,逐行读取数据和逐字符读取数据。 PHP文件读取函数如下: fread()fgets()fgetc()详细答案>>

45. 如何在PHP中写入文件?

PHP fwrite()和fputs()函数用于将数据写入文件。 要将数据写入文件,需要使用w,r+,w+,x,x+,c或c+模式。详细答案>>

46. 在PHP中如何删除文件?

在PHP中可使用unlink()函数来删除文件。

参考语法

bool unlink (string $filename)
详细答案>>

47. 从命令行执行PHP脚本的方法是什么?

应该只运行PHP命令行界面(CLI)并指定要执行的脚本的文件名。参考语法:

bool move_uploaded_file ( string $filename , string $destination)
详细答案>>

48. 如何用PHP来下载文件?

在PHp中可以使用readfile()函数来下载文件。

参考语法:

int readfile ( string $filename )
详细答案>>

49. 如何使用PHP发送电子邮件?

在PHP中可使用mail()函数来发送电子邮件。

bool mail($to,$subject,$message,$header);
详细答案>>

50. 如何使用PHP连接MySQL数据库?

将MySQL数据库与PHP连接有两种方法。 使用过程/程序和面向对象的风格。从PHP 5.5开始,不推荐使用mysql_connect()扩展。 现在建议使用两种替代方案。 mysqli_connect()PDO::__construct()详细答案>>

51. 如何在PHP中创建MySQL数据库连接?

mysqli_connect()函数用于在PHP中创建连接。语法如下: resource mysqli_connect (server, username, password) 示例代码: <?php $host = 'localhost:3306'; $user = 'root'; $pass = 'yourpasswd'; $conn = mysqli_connect($host, $user, $pass); if(! $...详细答案>>

52. 如何在PHP中创建数据库连接和查询?

从PHP 4.3开始,不推荐使用mysql_reate_db()。 现在可以使用以下2个替代方案。

  • mysqli_query()
  • PDO::_query()
详细答案>>

53. 如何才能增加PHP脚本的执行时间?

默认情况下,PHP脚本的最长执行时间设置为30秒。 如果脚本超过30秒,PHP将停止脚本并返回错误。 可以通过更改php.ini文件中的max_execution_time指令来更改脚本运行时。 调用脚本时,set_time_limit函数会从零重新启动超时计数器。 这意味着,如果默认计时器设置为30秒,并且在函数set_time_limit()中指定了20秒,则脚本将运行45秒。 如果在此函数中指定了0秒,则脚本将花费无限时间。详细答案>>

54. PHP中有哪些类型的错误?

PHP中有3种类型的错误。 Notices:这些是非严重错误,这些错误不会显示给用户。Warnings:这些是更严重的错误,但它们不会导致脚本终止。默认情况下,这些错误会显示给用户。Fatal Errors:这些是最关键的错误。由于脚本立即终止,可能会导致这些错误。详细答案>>

55. 如何停止执行PHP脚本?

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

详细答案>>

56. PHP中的加密函数是什么?

PHP中的加密函数有两个:

CRYPT()MD5()

详细答案>>

57. PHP中的.htaccess的作用是什么?

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

详细答案>>

58. 请解释PHP explode()函数用法。

PHP explode()函数将字符串分解为数组。

详细答案>>

59. 解释PHP split()函数的作用。

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

详细答案>>

60. 在PHP中如何获取客户端的IP地址?

参考以下简单实现:

$clientIP = $_SERVER["REMOTE_ADDR"];
详细答案>>

61. PHP中的命名空间是什么?

PHP命名空间提供了一种对相关类,接口,函数和常量进行分组的方法。 示例代码: # define namespace and class in namespace namespace Modules\Admin\; class CityController { } # include the class using namesapce use Modules\Admin\CityController ; 详细答案>>

62. 如何在PHP中添加301重定向?

可以通过在文件中添加以下代码段来在PHP中添加301重定向。

header("HTTP/1.1 301 Moved Permanently"); 
header("Location: /option-a"); 
exit();
详细答案>>

63. PHP中的unset()和unlink()有什么区别?

unlink:用于从服务器中删除文件。用法: unlink('path to file'); unset:用于取消设置变量。用法: unset($var); 详细答案>>

64. 在PHP中,类型提示是什么?

在PHP中,类型提示用于指定函数参数的例外数据类型。PHP 5中引入了类型提示。 用法示例: //发送电子邮件功能参数$email类型暗示电子邮件类。 这意味着调用此函数必须传递电子邮件对象,否则会生成错误。 <?php function sendEmail (Email $email) { $email->send(); } ?> 详细答案>>

65. 在PHP中,T_PAAMAYIM_NEKUDOTAYIM是什么?

T_PAAMAYIM_NEKUDOTAYIM是范围解析运算符,使用::(双冒号)。基本上,它用于调用类的静态方法/变量。 用法示例: $Cache::getConfig($key); 详细答案>>

66. PHP中的方法重写和重载有什么区别?

覆盖和重载都是面向对象的概念。在覆盖中,父类的方法在子类或派生类中定义,具有相同的名称和参数。 覆盖来自继承。在PHP中覆盖的一个示例。 <?php class A { function showName() { return "Ajay"; } } class B extends A { function showName() { return "Anil"; } } $foo = new A; $ba...详细答案>>

67. PHP中的cURL是什么?

cURL是PHP中的一个库,它用于向服务器发出HTTP请求。

详细答案>>

68. 如何从PHP数组中删除重复值?

可以使用库函数array_unique()来删除数组的重复值。这是使用它的语法。 <?php $a=array("a"=>"home","b"=>"town","c"=>"town","php"); print_r(array_unique($a)); ?> 还有的就是可以将数组的值变成数组的索引,然后再互换数组的索引...详细答案>>

69. array_combine()array_merge()有什么区别?

array_combine用于组合两个或多个数组,而array_merge用于在另一个数组的末尾附加一个数组。array_combine用于创建一个新数组,该数组具有一个数组的键和另一个数组的值,这些数组彼此组合,而array_merge用于创建一个新数组,使得第二个数组的值附加在第一个数组的末尾阵列。array_combine不会覆盖第一个数组的值,但是第一个数组的array_merge值会覆盖第二个数组的值。 array_combine的示例 <?php $arr1 = array(&q...详细答案>>

70. 如何在PHP中检查curl启用或不启用?

使用function_exists('curl_version')函数检查curl是否启用。 如果curl启用了其他false,则此函数返回true。 示例: if(function_exists('curl_version') ){ echo "Curl is enabled"; }else{ echo "Curl is not enabled"; } 详细答案>>

71. 如何在PHP中创建公共静态方法?

静态方法是类的成员,它直接由类名调用而不创建实例。在PHP中,可以使用static关键字创建静态方法。 示例: class A { public static function sayHello() { echo 'hello Static'; } } A::sayHello(); 详细答案>>

72. 如何使用PHP获取Web浏览器详细信息?

get_browser()函数用于在PHP中检索客户端浏览器详细信息。 这是一个库函数是PHP,它查找用户的browscap.ini文件并返回其浏览器的功能。 语法: get_browser(user_agent,return_array) // Example Usage: $browserInfo = get_browser(null, true); print_r($browserInfo); 详细答案>>

73. php.ini.htaccess文件是什么?

两者都用于更改PHP设置。详细说明解释如下: php.ini:这是PHP中的一个特殊文件,可以在其中更改PHP设置。 当您将PHP作为CGI运行时,它可以正常工作。 这取决于您是否要使用默认设置或通过编辑php.ini文件来更改设置,或者创建一个新的文本文件并将其另存为php.ini。 .htaccess:这是一个特殊文件,可用于管理/更改站点的行为。 当PHP作为Apache模块安装时,它可以工作。 这些更改包括将您的域名页面重定向到https或www,将所有用户定向到一个页面等。详细答案>>

74. 如何在PHP中终止脚本的执行?

要在PHP中终止脚本,请使用exit()函数。 它是一个内置函数,它输出一条消息然后终止当前脚本。 将您要显示的消息作为参数传递给exit()函数,此函数在显示消息后终止脚本。 它是die()函数的别名函数。 它不会返回任何值。 语法:exit(message) massage是作为参数传递的参数。它定义了消息或状态。 exit()错误和例外: 如果没有状态传递给exit(),则可以不带括号调用它。如果传递的状态是整数,则不会打印该值但用作退出状态。退出状态的范围是0到254,其中255是在PHP中保...详细答案>>

75. md5和SHA256有什么区别?

MD5和SHA256都用作散列算法。 它们获取一个输入文件并生成一个256/128位大小的输出。 此输出表示校验和或哈希值。 因为,哈希值之间的冲突非常罕见,但是加密不会发生。 MD5和SHA256之间的区别在于前者计算的时间比后者少。由于长度的原因,SHA256比MD5难以处理。SHA256不如MD5安全MD5导致128位输出,而SHA256导致256位输出。 总结所有要点,如果要保护文件,最好使用MDA5,其它可以使用SHA256。详细答案>>

76. nowdoc和heredoc有什么区别?

Heredoc和nowdoc是以不同方式在PHP中定义字符串的方法。 Heredoc处理$变量和特殊字符,而nowdoc不执行相同操作。Heredoc字符串使用双引号"",而nowdoc字符串使用单引号''。解析是在heredoc中完成的,但不是在nowdoc中。详细答案>>

77. 路径遍历(Path Traversal)是什么?

Path Traversal也称为Directory Traversal,指的是攻击者攻击以攻读Web应用程序文件的攻击。 此外,他/她可以在Web服务器或任何应用程序的根目录之外显示文件的内容。 Path遍历使用点 - 斜杠(../)序列来运行Web应用程序文件,因为../是一个跨平台符号,可以在目录中运行。 路径遍历基本上是由攻击者在他/她想要获取密码,访问令牌或存储在文件中的其他信息时实现的。 路径遍历攻击允许攻击者利用Web文件中存在的漏洞。详细答案>>

78. 编写代码逻辑以在PHP中打印Floyd的三角形?

Floyd的三角形是直角三角形,以1开头,并用连续的数字填充其行。 下一行中元素的数量将增加1,第一行仅包含一个元素。 Floyd三角形有4行的例子 <?php echo "print Floyd's triangle"; echo "<pre> $key = 1; for ($i = 1; $i <= 4; $i++) { for ($j = 1; $j <= $i; $j++) { echo $key; ...详细答案>>

79. 什么是跨站点脚本?

跨站点脚本(XSS)是Web应用程序中常见的一种计算机安全漏洞。 XSS使攻击者能够将客户端脚本注入其他用户查看的网页中。 攻击者可能会使用跨站点脚本漏洞绕过访问控制,例如同源策略。详细答案>>

80. PHP中可用的加密函数有哪些?

PHP中的加密函数有:crypt()mcrypt()hash()等。

详细答案>>

81. PHP中的@符号的作用是什么?

PHP中的@符号用于抑制错误消息。当我们在php中的任何语句之前添加@时,如果在该行上发生任何运行时错误,则由PHP处理错误

详细答案>>

82. PHP5和PHP7有什么区别?

PHP5和PHP7之间存在许多差异。一些主要的区别是: 性能:很明显,如果它们稳定,以后的版本总是比以前的版本更好。因此,如果您在两个版本中执行代码,您会发现PHP7的性能优于PHP5。这是因为PHP5使用Zend II和PHP并使用最新型号PHP-NG或Next Generation。返回类型:在PHP5中,程序员不允许定义函数返回值的类型,这是主要缺点。但是在PHP7中,克服了这个限制,并允许程序员定义任何函数的返回类型。错误处理:在PHP5中,管理致命错误存在很大困难,但在PHP7中,一些主要错...详细答案>>

83. PHP ksort()和usort()函数有什么区别?

ksort()函数用于根据键值对数组进行排序,而asort()函数用于根据数组对数组进行排序。它们都用于在PHP中对关联数组进行排序。 asort()示例: <?php $age = array("Peter"=>"37", "Ben"=>"27", "Joe"=>"43"); asort($age); ?> 输出结果 - Key=Ben, Value...详细答案>>

84. SHA256的变量长度应该是多少?

从名称SHA256可以清楚地看出,长度为256位长。 如果您使用十六进制表示,则需要64位数来替换256位,因为一位代表四位。 或者,如果使用二进制表示,这意味着一个字节等于八位,那么需要32位数。详细答案>>

85. 什么是MIME?

MIME代表Multipurpose Internet Mail Extensions是电子邮件协议的扩展。 它支持在互联网上交换各种数据文件,如音频,视频,应用程序和许多其他数据文件。 它还可以在互联网上处理ASCII文本和简单邮件传输协议。详细答案>>

86. 什么是访问修辞符?

访问修辞符是一个代码元素,用于确定允许程序的哪个部分访问特定变量或其他信息。 不同的编程语言具有不同的语法来声明访问说明符。 PHP中有三种类型的访问修辞符: private:类的成员被声明为private,只能从该类访问它们。protected:声明为受保护的类成员可以从该类或从继承的类访问。public:可以从任何地方访问声明为public的类成员。详细答案>>

87. PHP中的explode()或split()函数有什么区别?

在PHP中使用explode()和split()函数来分割字符串。 两者如下定义: split()用于使用正则表达式将字符串拆分为数组,而explode()用于使用分隔符按字符串拆分字符串。 split()示例: split(":", "this:is:a:split"); //returns an array that contains this, is, a, split. 输出结果为: Array ([0] => this,[1] => is,...详细答案>>

88. 如何使用命令行执行PHP文件?

从Windows命令提示符执行PHP脚本非常简单。 只需按照以下步骤操作: 打开命令提示符。 单击“开始”按钮 - >“命令提示符”。在命令提示符中,写入PHP可执行文件(php.exe)的完整路径,后跟您要执行的脚本的完整路径。必须在每个组件之间添加空间。 这意味着将命令导航到脚本位置。例如,把PHP放在C:\PHP中,你的脚本放在C:\PHP\sample-php-script.php文件中, 那么你的命令行将是: C:\PHP\php.exe C:\PHP\sample-php-scrip...详细答案>>

89. 请解释preg_matchpreg_replace

这些是PHP中常用的正则表达式。 这些是内置函数,用于处理其他常规函数。 preg_match:这是用于匹配已定义字符串中的模式的函数。 如果模式与字符串匹配,则返回true,否则返回false。preg_replace:此函数用于执行替换操作。 在这里,它首先匹配字符串中的模式,如果模式匹配,则替换与指定模式的匹配。详细答案>>

90. PHP中的session和cookie有什么区别?

PHP中的session和cookie有以下区别 - session和cookie都用于存储值或数据。cookie将数据存储在浏览器中,session存储在服务器上。当设置时间到期时,session会销毁浏览器关闭和cookie删除。详细答案>>

91. 在PHP中如何获取数组的长度?

PHP count()函数用于获取数组中元素的长度或数量 -

<?php
// initializing an array in PHP
$array=['a','b','c'];
// Outputs 3 
echo count($array);
?>
详细答案>>

92. PHP使用哪种脚本引擎?

PHP使用Zend Engine。 目前稳定版的Zend Engine是3.0。 它由Techni - Israel Institute of Technology的Andi Gutmans和Zeev Suraski开发。

详细答案>>

93. 在PHP中打开文件下载对话框的代码?

可以通过在标题中设置Content-Disposition来在PHP中打开文件下载对话框。 下面是一个用法示例: // outputting a PDF file header('Content-type: application/pdf'); // It will be called downloaded.pdf header('Content-Disposition: attachment; filename="downloaded.pdf"')...详细答案>>

94. 在PHP中获取如何客户端/用户的IP地址?

可以使用$_SERVER['REMOTE_ADDR']来获取PHP中用户/客户端的IP地址,但有时它可能无法始终返回客户端的真实IP地址。 使用下面的代码来获取用户的真实IP地址。 function getTrueIpAddr(){ if (!empty($_SERVER['HTTP_CLIENT_IP'])) //check ip from share internet { $ip=$_SERVER['HTTP_CLIENT_IP...详细答案>>

95. PHP中如何计算两个日期之间的天数?

在PHP中计算两个日期之间的天数,如下代码所示 - <?Php $date1 = date('Y-m-d'); $date2 = '2019-10-2'; $days = (strtotime($date1)-strtotime($date2))/(60*60*24); echo $days; ?> 详细答案>>

96. 如何获取传递给PHP函数的参数数量?

func_get_args()函数用于获取PHP函数中传递的参数数量。 用法示例: function foo() { return func_get_args(); } echo foo(1,5,7,3);//output 4; echo foo(a,b);//output 2; echo foo();//output 0; 详细答案>>

97. 如何使用PHP中的卷曲在URL中传递JSON数据?

使用PHP中的CURL在URL中发布JSON数据的代码如下 - $url='https://www.kaops.com/get_details'; $jsonData='{"name":"phpScots", "email":"phpscots@yiibai.com" ,'age':26 }'; $ch = curl_init(); curl_setopt($ch, CURL...详细答案>>

98. PHP中=====运算符有什么区别?

在PHP中==是等于运算符,如果$a在类型之后等于$b,并且===是相同运算符则返回TRUE,如果$ a等于$ b则返回TRUE,并且它们具有相同的数据类型。 示例用法: <?php $a=true ; $b=1; // Below condition returns true and prints a and b are equal if($a==$b){ echo "a and b are equal"; }else{ ech...详细答案>>

99. 如何在PHP会话中注册变量?

在PHP 5.3或更低版本中,我们可以使用session_register()函数注册一个变量。但session_register()函数现在已被弃用,我们可以在$_SESSION中直接设置一个值。 用法示例: <?php // Starting session session_start(); // Use of session_register() is deprecated $username = "PhpScots"; session...详细答案>>

100. 什么是PHP会话?如何从会话中删除数据?

因为HTTP是无状态协议。 要维护服务器上的状态并跨多个页面共享数据,请使用PHP会话。 PHP会话是根据唯一会话ID为单个用户/客户端存储数据的简单方法。会话ID通常通过会话cookie发送到浏览器,ID用于检索现有会话数据,如果服务器上没有会话ID,则创建新会话,并生成新的会话ID。 用法示例: <?php // starting a session session_start(); // Creating a session $_SESSION['user_info'] ...详细答案>>

101. PHP中的strstr()stristr()有什么区别?

在PHP中,这两个函数用于查找字符串中第一次出现的子字符串stristr()不区分大小写,strstr区分大小写,如果未找到匹配项,则返回FALSE。 示例用法: <?php $email = 'abc@xyz.com'; $hostname = strstr($email, '@'); echo $hostname; output: @xyz.com stristr() //does the same thing in Case-insensitive mann...详细答案>>

102. PHP中的构造函数和析构函数是什么?

PHP构造函数和析构函数是特殊类型函数,在创建和销毁PHP类对象时会自动调用这些函数。通常,构造函数用于初始化类和析构函数的私有变量,以释放类创建/使用的资源。这是PHP中的构造函数和析构函数的示例类。 <?php class Foo { private $name; private $link; public function __construct($name) { $this->name = $name; } public ...详细答案>>

103. PHP中的Gd库是什么?

GD是一个用于创建动态图像的开源库。 PHP使用GD库来创建PNG,JPEG和GIF图像。它还可用于动态创建图表和图形。GD库需要运行ANSI C编译器。 用PHP生成图像的示例代码 <?php header("Content-type: image/png"); $string = $_GET['text']; $im = imagecreatefrompng("images/button1.png"); ...详细答案>>

104. PHP中支持多重继承吗?

不支持,PHP不支持多重继承。

详细答案>>

105. 如何在PHP脚本中定义常量?

在PHP中定义常量,参考以下示例代码 -

define('CONSTANT_NAME',value);
详细答案>>

106. mbstring扩展库有什么用?

Mbstring是PHP中用于处理非ASCII字符串的扩展。 Mbstring提供多字节特定的字符串函数,帮助我们处理PHP中的多字节编码。 多字节字符编码方案用于在常规字节编码系统中表达超过256个字符。 Mbstring旨在处理基于Unicode的编码,如UTF-8和UCS-2,以及许多单字节编码,以方便PHP字符编码要求。 以下是mbstring的一些功能 它处理可能的编码对之间的字符编码转换。提供可能的编码对之间的自动编码转换。支持函数重载功能,可以为常规字符串函数添加多字节感知。提供多字节特...详细答案>>

107. GET和POST方法在表单提交方面有什么区别?什么时候使用get?什么时候使用post方法?

在PHP中,可以为表单指定两种不同的提交方法。 使用METHOD属性在FORM元素内指定方法。 METHOD ="GET"(默认值)和METHOD ="POST"的区别主要是根据表单数据编码定义的。 根据技术HTML规范,GET意味着表单数据将被(通过浏览器)编码为URL,而POST意味着表单数据将出现在HTTP请求的消息正文中。 对比项 GET POST URL历史 参数保留在浏览器历史记录中,因为它们是URL的一部分。 参数不会保存在浏览器历史记...详细答案>>

108. PHP魔术方法/函数是什么?请列出它们。

在PHP中,所有以__名称开头的函数都是神奇的函数/方法。 魔法方法总是存在于PHP类中。魔法函数的定义由程序员自己定义。 以下是PHP中可用的魔术函数列表 - __construct(), __destruct(), __call(), __callStatic(), __get(), __set(), __isset(), __unset(), __sleep(), __wakeup(), __toString(), __invoke(), __set_state(), __...详细答案>>

109. 为什么要将日志存储在数据库而不是文件中?

与日志文件相比,数据库提供了更大的灵活性和可靠性。 与平面文件相比,在数据库上运行查询和生成统计信息很容易。 写入文件会产生更多开销,并且在文件不可用时会导致代码阻塞或失败。 AFS中复制缓慢导致的不一致也可能会导致记录到文件的错误出现问题。 如果您可以访问MySQL,请使用数据库作为日志,当数据库无法访问时,让脚本自动向站点管理员发送电子邮件。详细答案>>

110. PHP中有哪些不同类型的打印输出函数/功能?

PHP是一种用于创建动态网页的服务器端脚本语言。 有很多功能可用于在PHP中显示输出。 在这里,我将解释一些在PHP中显示输出的基本功能。 在PHP中显示输出的基本功能如下: print()echo()printf()sprintf()var_dump()print_r()详细答案>>

111. 在PHP中如何访问标准错误流?

可以使用以下代码段访问PHP中的标准错误流:

$stderr = fwrite("php://stderr");

$stderr = fopen("php://stderr", "w");

$stderr = STDERR;
详细答案>>

112. PHP的优点和应用领域有哪些?

PHP(Hypertext Preprocessor)是一种开源的服务器端脚本语言,用于Web应用程序开发。可以使用HTML设计网页,并在用户的浏览器上执行代码。并且,使用PHP服务器端脚本语言,代码在服务器上执行,然后在用户的Web浏览器上执行。PHP编程语言被认为是一种友好的语言,具有与Oracle,MySQL和许多其他数据库轻松连接的能力。 PHP的用途和应用领域PHP脚本用于流行的操作系统,如Linux,UNIX,Solaris,Windows,MAC OS,Microsoft以及许多其他操作系...详细答案>>

113. PHP中的 echo 和 print 有什么区别?

PHP中echo和print的区别 - PHP echoecho是显示字符串的语言结构。echo具有void返回类型。echo可以采用逗号分隔的多个参数。echo比print快一点。 PHP print print是显示字符串的语言结构。print的返回值为1,因此可以在表达式中使用。print 不能采取多个参数。print比echo慢一点。详细答案>>

114. PHP中有哪些不同类型的错误?

PHP中有13种类型的错误,在下面列出了所有的错误类型 - E_ERROR:导致脚本终止的致命错误。E_WARNING:不会导致脚本终止的运行时警告。E_PARSE:编译时间解析错误。E_NOTICE:由于代码中的错误导致的运行时通知。E_CORE_ERROR:PHP初始启动期间发生的致命错误。E_CORE_WARNING:PHP初始启动期间发生的警告。E_COMPILE_ERROR:脚本的致命编译时错误指示问题。E_USER_ERROR:用户生成的错误消息。E_USER_WARNING:用户生成的...详细答案>>

115. 如何增加PHP脚本的执行时间?

PHP脚本的默认最长执行时间设置为30秒。 如果php脚本运行时间超过30秒,那么PHP将停止脚本并报告错误。您可以通过更改php.ini文件中的max_execution_time指令或调用ini_set('max_execution_time',300)来增加执行时间; // 300秒= 5分钟,但需要将此函数位于php脚本的顶部。详细答案>>

116. PHP中的数据类型有哪些?

PHP支持9种基本类型 4个标量类型: 整数布尔浮点数字符串 3种混合类型: 列表(或数组)对象可调用 还有2种特殊类型: 资源null值详细答案>>

117.
  1. includerequireinclude_oncerequire_once之间有什么区别?

include: include用于在单个PHP脚本中多次包含文件。include可以多次包含文件。 语法: include("file_name.php"); include_once:include_once只在php脚本中包含一次文件,忽略第二次包含尝试。 语法: include_once("file_name.php"); require :require还用于在单个PHP脚本中多次包含文件。如果在指定位置或路径上找不到文件,则会生成致命错误并停止脚本执行...详细答案>>

118. 在PHP中会话存储在什么地方?

PHP会话通常存储在服务器的临时目录中的文本文件中。无法从外部单词访问该文件。当我们创建会话时,PHP通过在客户端浏览器上创建cookie来创建由客户端共享的唯一会话ID。每次发出请求并识别会话时,客户端浏览器会将该会话ID发送到服务器。默认会话名称为“PHPSESSID”。详细答案>>
注: 此试题仅作为相关知识水平测试,不能作为权威试题和答案。非商业转载注明原文链接即可;商业转载需本站授权同意。

相关面试题

Python面试题及答案   47
PHP面试题和答案   118
List语言面试题及答案   14
自然语言处理(NLP)   8
JavaScript框架面试题   144
layui

微信扫码关注 考评师 公众号