管理员登陆

PHP 使用 $_GET 提示 Undefined array key 怎么办?

今天遇到 PHP 使用 $_POST 提示 Undefined array key 错误的问题 解决之后,后面又遇到了使用 $_GET 提示 Undefined array key 错误的情况。
类似于:
PHP Warning:  Undefined array key "aaa" in demo.php on line 3
同样是因为 PHP 升级到 PHP 8.0 / PHP 8.1 之后,对于语法的要求更严格了,所以会有错误提示。
经过测试,可以在使用 $_GET 之前,用 isset() 函数做一个判断,如果存在,则执行。
比如原来的代码是:
$a = $_GET["aaa"];
增加一个 isset() 函数的判断,变成:
if (isset($_GET["aaa"])){
    $a = $_GET["aaa"];
}
注意,这时候还可能会出现另外一个错误,就是
PHP Warning:  Undefined variable $a in demo.php on line 33
也就是如果 $_GET["aaa"] 不存在的话,那么 $a 也就不会被设置,所以可以做一个初始化,改成下面这样:
$a = "";
if (isset($_GET["aaa"])){
    $a = $_GET["aaa"];
}
先把变量 $a 初始化为空值,后面再通过 $_GET 来获取数值。

信息科技 2024-03-16 01:21:53 通过 网页 浏览(106) 打印

共有0条评论!

发表评论