You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP中$_GET外部变量空值与非空判断代码不生效如何解决?

问题根因

  1. 代码未将$_GET['test']赋值给$test变量,$test始终处于未定义状态,$test === NULL判断永远为真,因此所有请求都命中第一个分支。
  2. 当访问/test.php?test时,$_GET['test']实际存在,值为空字符串""而非NULL,原有判断逻辑不符合PHP接收URL参数的规则。

正确实现代码

// 用null合并运算符安全获取参数,参数不存在时默认赋值为null
$test = $_GET['test'] ?? null;

if (isset($test)) {
    // 去除两端空白后判断是否为空,可根据业务需求调整判断规则
    if (trim($test) === '') {
        echo '变量为空';
    } else {
        // 输出外部参数时加htmlspecialchars避免XSS安全风险
        echo '变量不为空:' . htmlspecialchars($test);
    }
}

运行验证

  • 访问/test.php?test:输出 变量为空,符合需求
  • 访问/test.php?test=test:输出 变量不为空:test,符合需求

内容的提问来源于stack exchange,提问作者YKKY

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 19:15:04