前段时间换了一个服务器,顺便把PHP也升级了一下,升级成了 PHP8.1 了。结果因为 PHP8.0 之后 对于语法要求更严格了,出了各种错误。
其中一个就是类似于下面这样的警告提醒:
PHP Warning: Undefined array key "xxx" in demo.php line 10
意思就是 数组键值未定义 的一个警告。
我看了,其实里面用了一个 $_POST 获取表单的内容,就是类似下面这样的代码:
$x = $_POST["xxx"];
如果 xxx 不存在的话,就会报错。正常情况下,如果有数据提交,就获取 xxx 内容。没有数据提交 $x 就是空值。
但是在 PHP 8 下面,这就会出现警告。
其实我们把这个改一下就可以,先判断是否存在 Post 请求,如果有再获取内容。
if ($_SERVER["REQUEST_METHOD"] == "POST") { $x = trim($_POST['xxx']); }
这样,就不会有警告了。
补充:如果用 $_GET 的时候,也会遇到同样的错误,解决方法:$_GET 提示 Undefined array key 错误的解决方法。
再解决 $_GET 错误提示的时候,遇到一个变量未声明的错误提醒:
PHP Warning: Undefined variable $x in demo.php on line 1010
可以在前面做一个初始化:
$x = ""; if ($_SERVER["REQUEST_METHOD"] == "POST") { $x = trim($_POST['xxx']); }
先把 $x 初始化为空值,这样后面就不会出现警告提示了。
下一篇:PHP 使用 $_GET 提示 Undefined array key 怎么办?
上一篇:早期版本升级PHP 7.4.5 之后出现500错误的原因和解决办法
- 相关文章 -
常见编程语言中的注释符号和格式 - 2017-12-19
Windows 2016 & Windows 10 中IIS安装和配置PHP的步骤 - 2017-12-19
PHP隐藏IP地址末位的方法 - 2017-12-11
GB2312网页调用或引入UTF-8编码的JS显示乱码的解决方法 - 2017-12-08
20款国外PHP免费开源CRM软件推荐 - 2017-08-21
PHP 判断是否包含某个字符串的方法和案例 - 2017-05-23
PHP String 函数有哪些,PHP字符串函数大全 - 2017-05-23
Apache的rewrite规则 - 2011-05-29
- 文章评论 -
- 最新评论[0条评论] -
版权所有©逍遥峡谷 - 星际中心超自然局 · 地球总部 |
逍遥峡谷 ·
酷品优选
Copyright©Interstellar Central Occult Agency (I.C.O.A)
本局纯属虚构,如有雷同,纯属巧合