📜  PHP面试问答 |第 2 组

📅  最后修改于: 2022-05-13 01:56:22.764000             🧑  作者: Mango

PHP面试问答 |第 2 组

我们已经在PHP面试问答 | 中讨论了一些问题。第 1 组。以下是一些更相关的问题:

  1. 如何在PHP中启用错误报告?
    如果您遇到错误并且您不知道这些错误,那么您可以使用内置的error_reporting()函数。此函数将为您提供有关这些错误发生的位置和原因的信息。包含此函数的最佳位置是PHP脚本的开头。您还可以为某些特定脚本设置此函数,也可以通过编辑PHP.ini文件为服务器中的所有脚本设置此功能。

  2. 主要的错误类型是什么以及它们有何不同?
    PHP中有各种类型的错误,但它基本上包含四种主要类型的错误。
    • 解析错误或语法错误:它是程序员在程序源代码中所做的错误类型。解析错误可能是由于非封闭引号、缺少或多余的括号、非封闭大括号、缺少分号等引起的。
    • 致命错误:这是PHP编译器理解PHP代码但识别出未声明函数的错误类型。这意味着在没有定义函数的情况下调用函数。
    • 警告错误:警告错误的主要原因是缺少文件。这意味着PHP函数调用了丢失的文件。
    • 注意错误:类似于警告错误。这意味着程序包含错误但它允许执行脚本。

  3. PHP中的继承是什么?
    PHP中的继承意味着子类可以从其父类继承所有属性和受保护的方法,并且使用extend 关键字来定义继承。

  4. PHP是否支持多重继承?
    PHP不支持多重继承,但通过在PHP中使用接口或在PHP中使用 Traits 而不是类,我们可以实现它。

  5. PHP中的特征是什么?
    trait 是一种支持多重继承的类。类、案例类、对象和特征都可以扩展不超过一个类,但可以同时扩展多个特征。

  6. GET 和 POST 有什么区别?
    • GET:它从指定的资源请求数据。在此方法中,数据作为 URL 参数发送,这些参数通常是由 & 分隔的名称和值对字符串。
      句法:
    • POST:在这种方法中,数据作为一个包发送到服务器,与处理脚本单独通信。通过 POST 方法发送的数据将在 URL 中不可见。
      句法:

  7. unset() 和 unlink() 函数有什么区别?
    • Unlink()函数: unlink()函数是PHP中的一个内置函数,用于删除文件。必须删除的文件的文件名作为参数发送,函数在成功时返回 True,在失败时返回 False。 PHP中的 unlink()函数接受两个参数filenamecontext
    • Unset()函数: Unset()函数是PHP中的一个内置函数,用于通过清空文件来删除文件中的内容。这意味着该函数清除文件的内容而不是删除它。 unset()函数不仅清除文件内容,还用于取消设置变量,从而使其为空,接受单个参数变量。

  8. 如果 x = 10 且 y = “10” 那么条件 x === y 返回什么?
     
    

    它将返回bool(false)

  9. 什么是PHP中的 Nullable 类型?
    这个特性是PHP的新特性,Nullable 增加了一个前导问号,表示一个类型也可以为空。
    function geeks(): ?int  {
        return null; // ok
    }
    

  10. 可以使用PHP上传的文件的最大大小是多少?
    默认情况下, PHP脚本的最大上传文件大小设置为 128 兆字节。但是您可以更改它,任何可以上传到用PHP编写的网站上的文件的最大大小取决于服务器的PHP.ini文件中提到的可以发布或上传的 max_size 的值。如果托管服务器需要联系托管服务器的管理员,但 XAMPP 有用PHP和 Perl 编写的脚本的解释器。它有助于为开发人员创建本地 HTTP 服务器,并为他们提供对本地服务器的完全物理和管理访问权限。因此,它是使用最广泛的服务器,并且很容易将上传文件的限制增加到该服务器中的所需值。

  11. 我们如何增加PHP脚本的执行时间?
    使用PHP内置函数ini_set(option, value),其中参数是给定的配置选项和要设置的值。当您需要在运行时覆盖配置值时使用它。这个函数是从你自己的PHP代码中调用的,并且只会影响调用这个函数的脚本。如果要为脚本设置无限的执行时间,请使用 init_set('max_execution_time', 0)。
    // The program is executed for 3mns. 
     
    

  12. include() 和 require() 函数有什么区别?
    • include()函数:此函数用于将函数内调用的文件的所有内容,以文本方式复制到调用它的文件中。这发生在服务器执行代码之前。
    • require()函数: require()函数的执行与 include()函数相同。它还获取所需的文件并将整个代码复制到调用 require()函数的文件中。

  13. PHP中的三个访问说明符 Public、Private 和 Protected 是什么?
    • 公共访问修饰符:此修饰符可在类内部和外部使用。
    • 受保护的访问修饰符:此修饰符可在定义它的类及其父类或继承类中使用。
    • 私有访问修饰符:此修饰符可在定义它的类中使用。 (它不能在类外访问意味着在继承类中)。

  14. 解释飞船运算符的行为?
    宇宙飞船运算符或组合运算符由“<=>”表示。这是一个三向运算符,它可以在两个操作数之间进行大于、小于和相等的比较。
      此 <=>运算符提供组合比较:
    • 如果两边的值相等,则返回 0
    • 如果左侧的值更大,则返回 1
    • 如果右侧的值更大,则返回 -1

  15. PHP类中的 __construct() 和 __destruct() 方法是什么?
    • __construct() 方法:构造函数是定义未来对象及其性质的非常基本的构建块。您可以说构造函数是对象创建的蓝图,为成员函数和成员变量提供值。
      function __construct() {
          
          // Initialize the object and its
          // properties by assigning values
      }
    • __destruct() 方法:析构函数用于销毁对象并在执行结束时自动调用。
      function __destruct() {
      
          // Destroying the object or
          // clean up resources here 
      }

  16. 什么是 urlencode() 和 urldecode() ?
    • urlencode()函数: urlencode()函数是PHP中的一个内置函数,用于对 URL 进行编码。此函数返回一个字符串,该字符串包含除 -_ 之外的所有非字母数字字符。并替换为百分号 (%) 后跟两个十六进制数字和编码为加号 (+) 的空格。
    • urldecode()函数: urldecode()函数是PHP中的一个内置函数,用于解码由 encoded()函数编码的 URL。

  17. 如何从字符串中删除换行符?
    可以使用 str_replace()函数从字符串中删除换行符。 str_replace()函数是PHP中的一个内置函数,用于将所有出现的搜索字符串或搜索字符串数组分别替换为给定字符串或数组中的替换字符串或替换字符串数组。

  18. 如何从字符串中删除扩展名?
    有三种方法可以从字符串中删除扩展名。它们如下
    • 使用内置函数pathinfo
    • 使用内置函数basename
    • 使用字符串函数 substr 和 strrpos

  19. 如何检查变量的值是数字、字母数字还是空?
    您可以使用is_numeric()函数来检查它是否为数字。 ctype_alnum()函数用于检查它是否为字母数字值,并使用empty()函数检查变量是否为空。

  20. 是否可以从数据中删除 HTML 标签?
    是的,可以使用strip_tags()函数。此函数是PHP中的一个内置函数,用于从 HTML 和PHP标记中删除字符串。此函数返回一个字符串,其中包含从给定 $str 中删除的所有 NULL 字节、HTML 和PHP标记。