首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

100 个常见的 PHP 面试题

这是一个 PHP 语法错误,表示 x 行的错误会停止解析和执行程序。 26) 如何将数据导出到 Excel 文件中? 最常见和常用的方法是将数据转换为Excel支持的格式。...PHP7.0 及以上版本已不支持该函数。 30) 如何在 PHP 中处理 MySQL 的结果集?...可以使用专用函数 is_numeric() 来检查它是否为数字。 37) 如何检查给定变量的值为字母和数字字符? 可以使用专用函数 ctype_alnum 来检查它是否为字母数字字符。...“13” 和 12 可以在 PHP 中进行比较,因为它将所有内容都强制转换为整数类型。 54) 如何在PHP中强制转换类型?...三类基本错误类别是: 通知 (非关键错误)、警告 (严重错误) 和 致命错误 (严重错误)。

21K50

你还不会处理 PHP 的错误么?PHP 中错误相关知识看这一篇就够了

警告错误: 警告错误的主要原因是包含丢失的文件。这意味着 PHP 函数调用了丢失的文件。 例子: PHP 中的错误处理几乎与所有编程语言中的错误处理类似。PHP 中的默认错误处理将给出文件名行号和错误类型。...error_level:下面列出了可能的错误级别:  1:.E_ERROR:致命的运行时错误脚本的执行已停止 2:E_WARNING:非致命运行时错误脚本的执行已停止 4:E_PARSE:编译时错误,由解析器生成...error_log string:它设置应记录脚本错误的文件的名称。 示例:要显示 PHP 中的错误,最快、最简单的方法是将以下行添加到代码中。  ...> 输出: 在 php.ini 文件中禁用 display_error 时的输出: 启用display_error并重新启动时的输出: 上述指令将显示在浏览器上加载网站时遇到的任何 PHP 错误。

25720
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    这10个问题你一定要会!

    $str2 . "\\""; } 需要注意的是我们使用了!==,在php 和 JS中= !相对== 更为严格需要要求数据类型的一致。 2、下面的输出结果会是怎样?...7、经过下面的运算 $x的值应该是多少?...$x = 3 + "15%" + "$25" 答案是18,PHP是会根据上下文实现类型的自动转换 上面的代码我们可以这样理解,如果我们在与字符串进行数学运算,实际php会尽可能将字符串中的数组进行转换,...如果是数字开头的话则转换成改数字比如"15%"会变成15,如果不是数字开头则会变成0; 上面的运算类似下面 : $x = 3 + 15 + 0 8、运行下面的代码,$text 的值是多少?...显然不是,将一个字符串进行强制类型转换实际上用的是convert_to_long,它实际上是将字符串从左向右进行转换,遇到非数字字符则停止。因此0xFF到x就停止了。所以$x=0

    77390

    这10个问题你一定要会!你肯定忽略了!

    $str2 . "\\""; } 需要注意的是我们使用了!==,在php 和 JS中= !相对== 更为严格需要要求数据类型的一致。 2、下面的输出结果会是怎样?...7、经过下面的运算 $x的值应该是多少?...$x = 3 + "15%" + "$25" 答案是18,PHP是会根据上下文实现类型的自动转换 上面的代码我们可以这样理解,如果我们在与字符串进行数学运算,实际php会尽可能将字符串中的数组进行转换,...如果是数字开头的话则转换成改数字比如"15%"会变成15,如果不是数字开头则会变成0; 上面的运算类似下面 : $x = 3 + 15 + 0 8、运行下面的代码,$text 的值是多少?...显然不是,将一个字符串进行强制类型转换实际上用的是convert_to_long,它实际上是将字符串从左向右进行转换,遇到非数字字符则停止。因此0xFF到x就停止了。所以$x=0

    75060

    PHP利用PCRE回溯次数限制绕过某些安全限制

    这里有个有趣的事情,就是 PHP 文档中,中英文版本的数值是不一样的: ? 我们应该以英文版为参考。 可见,回溯次数上限默认是 100 万。...另外,我遇到更常见的一种 WAF 是: php if(preg_match('/UNION.+?...在 NFA 中,如果我输入 UNION/aaaaa/SELECT,这个正则表达式执行流程如下: .+? 匹配到/ 因为非贪婪模式,所以.+?...停止匹配,而由 S 匹配* S 匹配失败,回溯,再由.+? 匹配 因为非贪婪模式,所以.+? 停止匹配,而由 S 匹配 a S 匹配 a 失败,回溯,再由.+? 匹配 a ......其实如果我们仔细观察 PHP 文档,是可以看到 preg_match 函数下面的警告的: ? 如果用 preg_match 对字符串进行匹配,一定要使用===全等号来判断返回值,如: <?

    1.7K10

    PHP错误类型及屏蔽方法

    这篇文章具体说一下PHP的错误类型和屏蔽方法。在PHP中,主要有以下3种错误类型。 1. 注意(Notices) 这些都是比较小而且不严重的错误,比如去访问一个未被定义的变量。...致命错误(Fatal errors) 这些就是严重的错误,比如你想要初始化一个根本不存在的类的对象,或调用一个不存在的函数,这些错误会导致程序停止运行,PHP也会把这些错误展现给用户。...E_CORE_ERROR:在PHP启动时发生的致命错误。 E_CORE_WARNING:报告在PHP启动时发生的非致命性错误。 E_COMPILE_ERROR:编译时发生的致命错误,指出脚本的错误。...屏蔽PHP错误提示 方法一:在有可能出错的函数前加@,然后or die("") 如: @mysql_connect(...) or die("Database Connect Error") 方法二:编辑...php.ini ,查找"display_errors =" ,将“=”后面的值改为"off。

    1.6K80

    PHP error_reporting() 错误控制函数功能详解

    下面几项是 level 可能的值: 值 常量 描述 1 E_ERROR 致命的运行错误。错误无法恢复,暂停执行脚本。 2 E_WARNING 运行时警告(非致命性错误)。...非致命的运行错误,脚本执行不会停止。 4 E_PARSE 编译时解析错误。解析错误只由分析器产生。 8 E_NOTICE 运行时提醒(这些经常是你代码中的bug引起的,也可能是有意的行为造成的。)...16 E_CORE_ERROR PHP启动时初始化过程中的致命错误。 32 E_CORE_WARNING PHP启动时初始化过程中的警告(非致命性错)。...128 E_COMPILE_WARNING 编译时警告(非致命性错)。这就像由Zend脚本引擎生成了一个E_WARNING警告。 256 E_USER_ERROR 用户自定义的错误消息。...这就像由使用PHP函数trigger_error(程序员设定的一个E_WARNING警告) 1024 E_USER_NOTICE 用户自定义的提醒消息。

    48310

    PHP error_reporting() 错误控制函数功能详解

    下面几项是 level 可能的值: 值 常量 描述 1 E_ERROR 致命的运行错误。错误无法恢复,暂停执行脚本。 2 E_WARNING 运行时警告(非致命性错误)。...非致命的运行错误,脚本执行不会停止。 4 E_PARSE 编译时解析错误。解析错误只由分析器产生。...8 E_NOTICE 运行时提醒(这些经常是你代码中的bug引起的,也可能是有意的行为造成的。) 16 E_CORE_ERROR PHP启动时初始化过程中的致命错误。...32 E_CORE_WARNING PHP启动时初始化过程中的警告(非致命性错)。 64 E_COMPILE_ERROR 编译时致命性错。这就像由Zend脚本引擎生成了一个E_ERROR。...128 E_COMPILE_WARNING 编译时警告(非致命性错)。这就像由Zend脚本引擎生成了一个E_WARNING警告。 256 E_USER_ERROR 用户自定义的错误消息。

    78170

    如何修复WordPress发生的max_execution_time致命错误

    execution time of 30 seconds exceeded" 30秒的值可以是任何数字。...max_execution_time这样的WordPress错误是WordPress中最常见的警告之一。 但是,您可能会在网站的前端找到一条消息,告诉用户该网站遇到了技术问题。...最后,如果您想删除增加的时间限制,请卸载插件。 如何在wp-config.php中增加最大执行时间 以下每种方法都会利用您的核心WordPress文件。...我们建议在“停止编辑”之前找到最后一个区域并将代码放在那里。 在wp-config中设置新的最大执行时间 之后,保存并通过FTP将新的wp-config.php文件上传到您的站点。...最后,返回您的网站检查问题是否已解决。 如何在php.ini中增加最大执行时间 另一个在Web主机中不常见的文件称为php.ini。

    5.2K00

    PHP不显示错误信息的解决方法

    error_reporting错误级别代码: 值 常量 描述 1 E_ERROR 致命的运行错误。...2 E_WARNING 运行时警告(非致命性错误)。非致命的运行错误,脚本执行不会停止。 4 E_PARSE 编译时解析错误。解析错误只由分析器产生。...8 E_NOTICE 运行时提醒(这些经常是你代码中的bug引起的,也可能是有意的行为造成的。) 16 E_CORE_ERROR PHP启动时初始化过程中的致命错误。...32 E_CORE_WARNING PHP启动时初始化过程中的警告(非致命性错)。 64 E_COMPILE_ERROR 编译时致命性错。这就像由Zend脚本引擎生成了一个E_ERROR。...128 E_COMPILE_WARNING 编译时警告(非致命性错)。这就像由Zend脚本引擎生成了一个E_WARNING警告。 256 E_USER_ERROR 用户自定义的错误消息。

    61330

    浅谈PHP异常处理

    1、PHP中异常的独特性   PHP中的异常的独特性,即PHP中的异常不同于主流语言C++、java中的异常。...warning、notice都是错误,只是他们的级别不同而已,并且错误是不能被try-catch捕获的。    在PHP中遇到任何自身错误都会触发一个错误,而不是抛出异常。...PHP一旦遇到非正常代码,通常都会触发错误,而不是抛出异常。因此,如果想要使用异常处理不可预料的问题,是办不到的。 典型例子: 1 警告(非致命性错误)。非致命的运行错误,脚本执行不会停止。 4 E_PARSE 编译时解析错误。...16 E_CORE_ERROR PHP 启动时初始化过程中的致命错误。 32 E_CORE_WARNING PHP启动时初始化过程中的警告(非致命性错)。

    1.3K30

    php之php.ini配置文件讲解案例

    ;  ; 值可以是一个字符串,一个数字,一个 PHP 常量 (如: E_ALL or M_PI), INI 常量中的  ; 一个 (On, Off, True, False, Yes, No and None...;  ; 所有在 php.ini-dist 文件里设定的值与内建的默认值相同(这是说,如果 php.ini  ; 没被使用或者你删掉了这些行,默认值与之相同)。...  ; 该指示包含用逗号分隔的前缀列表。安全模式中,用户仅可以替换  ; 以在此列出的前缀开头的环境变量的值。 ...(如:基于未初始化的变量自动初始化为一个  ;空字符串的事实而使用一个未初始化的变量) ; E_CORE_ERROR - 发生于PHP启动时初始化过程中的致命错误  ; E_CORE_WARNING -...发生于PHP启动时初始化过程中的警告(非致命性错)  ; E_COMPILE_ERROR - 编译时致命性错  ; E_COMPILE_WARNING - 编译时警告(非致命性错)  ; E_USER_ERROR

    1.5K00

    PHP配置文件详解php.ini

    ; ; 值可以是一个字符串,一个数字,一个 PHP 常量 (如: E_ALL or M_PI), INI 常量中的 ; 一个 (On, Off, True, False, Yes, No and None...; ; 所有在 php.ini-dist 文件里设定的值与内建的默认值相同(这是说,如果 php.ini ; 没被使用或者你删掉了这些行,默认值与之相同)。...may be a potential security breach. ; 该指示包含用逗号分隔的前缀列表。安全模式中,用户仅可以替换 ; 以在此列出的前缀开头的环境变量的值。...(如:基于未初始化的变量自动初始化为一个 ;空字符串的事实而使用一个未初始化的变量) ; E_CORE_ERROR - 发生于PHP启动时初始化过程中的致命错误 ; E_CORE_WARNING -...发生于PHP启动时初始化过程中的警告(非致命性错) ; E_COMPILE_ERROR - 编译时致命性错 ; E_COMPILE_WARNING - 编译时警告(非致命性错) ; E_USER_ERROR

    2K10

    PHP 配置文件详解(php.ini 详解 )

    值可以是一个字符串,一个数字,一个 PHP 常量 (如: E_ALL or M_PI), INI 常量中的一个 (On, Off, True, False, Yes, No and None) ,或是一个表达式...所有在 php.ini-dist 文件里设定的值与内建的默认值相同(这是说,如果 php.ini 没被使用或者你删掉了这些行,默认值与之相同)。...该指示包含用逗号分隔的前缀列表。安全模式中,用户仅可以替换 以在此列出的前缀开头的环境变量的值。 默认地,用户将仅能 设定以PHP_开头的环境变量,(如: PHP_FOO=BAR)。...(如:基于未初始化的变量自动初始化为一个 ;空字符串的事实而使用一个未初始化的变量) ; E_CORE_ERROR - 发生于PHP启动时初始化过程中的致命错误 ; E_CORE_WARNING -...发生于PHP启动时初始化过程中的警告(非致命性错) ; E_COMPILE_ERROR - 编译时致命性错 ; E_COMPILE_WARNING - 编译时警告(非致命性错) ; E_USER_ERROR

    4.6K30

    一起来探查PHP8测试版都有些啥东东

    int $arg = CONST_RESOLVING_TO_NULL) {} // Or function test(int $arg = null) {} 许多警告转换成了异常: 给非对象写入属性...将元素追加到 PHP_INT_MAX 键的数组中 将无效类型(数组或类)用作数组键或字符串偏移量 写入标量值的数组索引 解压缩不可遍历的数组 许多通知转换成了警告: 读取未定义的变量、属性、非对象的属性...、非数组的索引 将数组转换为字符串 将资源作为数组键 使用 null 、 boolean 或 float 作为字符串偏移量 读取越界字符串 将空字符串分配给字符串偏移量 将字符串偏移量分配给多个字节产生警告...关于数据的流包装器将不再是可写的了 算术和位运算符不能操作数组、资源或非重载对象了,会抛出 TypeError ,除了数组的合并操作,如 array1 + array2 ,它将保留原来的操作方式 浮点数到字符串的转换将始终独立于区域设置...鸟哥在最近更新的关于 PHP8 的文章中,也首先就提到了这两个能力。大家可以在下面的链接中查看原鸟哥讲解的原文。

    4.7K40

    五个值得深思的PHP面试题

    Q7 经过下面的运算 $x的值应该是多少?...$x = 3 + "15%" + "$25" 答案是18,PHP是会根据上下文实现类型的自动转换 上面的代码我们可以这样理解,如果我们在与字符串进行数学运算,实际php会尽可能将字符串中的数组进行转换...,如果是数字开头的话则转换成改数字比如”15%”会变成15,如果不是数字开头则会变成0; 上面的运算类似下面 : $x = 3 + 15 + 0 Q8 运行下面的代码,$text 的值是多少?...PHP使用is_numeric_string 判断字符串是否包含十六进制数字然后进行转换。 但是$x = (int)’0xFF’;是否也会变成255呢?...显然不是,将一个字符串进行强制类型转换实际上用的是convert_to_long,它实际上是将字符串从左向右进行转换,遇到非数字字符则停止。因此0xFF到x就停止了。所以$x=0

    71850

    PHP 中的错误处理与异常捕获

    我们将从错误和异常的概念入手,讲解它们的工作原理、PHP 中的错误级别、如何正确使用错误处理和异常捕获、以及如何在实际开发中优雅地处理错误和异常。...通过本篇博客,您将能够理解 PHP 中的错误处理机制,并掌握如何在项目中运用它们来提高代码的质量和用户体验。1. 什么是错误和异常?...1.1 错误(Error)在编程中,错误通常指程序在运行过程中遇到的无法继续执行的情况。错误可能会导致程序崩溃或行为异常。PHP 中的错误有许多种类型,包括语法错误、运行时错误、逻辑错误等。...异常是面向对象的,在 PHP 中是 Exception 类的实例。2. PHP 中的错误类型与错误级别PHP 将错误分为不同的级别,每个错误级别都有不同的处理方式。...警告错误 E_WARNING 程序不会终止,但会输出警告信息,如文件未找到等。

    13500

    php函数基础(一)

    >默认值只能在形参的右边,否则报错 6.强类型参数 一般情况,简单类型参数之间是可以相互转化的: 1> 整型开头的字符串+数字=数字...2> 浮点型开头的字符串+数字=数字 3>字符串开头的串+字符串开头的串=0 强类型参数定义:为参数列表中的参数指定类型,如果如果传入的数据类型不匹配,则抛出TypeError...内存中形参和实参存储在不同的空间,调用函数时,会给形参分配空间,实参将值传递给形参,调用函数完成后,形参释放空间,实参保留原来的值。...全局变量(global): $GLOBALS 全局变量数组 对于php而言,可以这么说,在页面中生成的变量都是全局变量,在整个页面都有效;但是不能被函数或者类中的方法访问...,后面的代码停止执行 include与include_once: 引入不存在的文件时报j警告性错误,后面的代码继续执行 发布者:全栈程序员栈长,转载请注明出处:https:/

    91040
    领券