首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何验证$_GET是否存在?

如何验证$_GET是否存在?
EN

Stack Overflow用户
提问于 2012-08-18 23:14:06
回答 7查看 166.8K关注 0票数 66

所以,我有一些PHP代码,看起来有点像这样:

代码语言:javascript
复制
The ID is

现在,当我传递一个ID,比如

它工作得很好,但是如果没有像这样的ID

然后输出:

代码语言:javascript
复制
The ID is
Notice: Undefined index: id in C:\xampp\htdocs\myphp.php on line 9
!

我一直在寻找解决这个问题的方法,但我找不到任何方法来检查URL变量是否存在。但我知道一定有办法。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2012-08-18 23:15:12

您可以使用

功能:

代码语言:javascript
复制
if(isset($_GET['id'])) {
    // id index exists
}

如果index不存在,您可以创建一个方便的函数来返回默认值:

代码语言:javascript
复制
function Get($index, $defaultValue) {
    return isset($_GET[$index]) ? $_GET[$index] : $defaultValue;
}

// prints "invalid id" if $_GET['id'] is not set
echo Get('id', 'invalid id');

您也可以尝试同时验证它:

代码语言:javascript
复制
function GetInt($index, $defaultValue) {
    return isset($_GET[$index]) && ctype_digit($_GET[$index])
            ? (int)$_GET[$index] 
            : $defaultValue;
}

// prints 0 if $_GET['id'] is not set or is not numeric
echo GetInt('id', 0);
票数 149
EN

Stack Overflow用户

发布于 2012-08-18 23:15:45

代码语言:javascript
复制
if (isset($_GET["id"])){
        //do stuff
    }
票数 18
EN

Stack Overflow用户

发布于 2012-08-18 23:19:26

通常情况下,这样做是很好的:

代码语言:javascript
复制
echo isset($_GET['id']) ? $_GET['id'] : 'wtf';

在将var赋值给其他变量时,您可以一口气完成所有默认值,而不是不断使用

语句,以便在未设置这些语句的情况下仅为其提供默认值。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12019684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档