【问题标题】:Return a value if a PHP GET doesn't exist? [duplicate]如果 PHP GET 不存在,则返回一个值? [复制]
【发布时间】:2013-02-19 02:19:30
【问题描述】:

我有很多 PHP 语句:

$getvalue = $_GET['valueiwant'];

在某些情况下,并非所有变量都可用。那么,假设 'valueiwant' 在 URL 字符串中不存在,我如何根据它不存在的事实返回一个值?

例如,如果找不到“valueiwant”,则将 $getvalue 设置为 -1

目前看来该值默认为 0,如果不存在,我需要小于 0。

有什么想法吗?

谢谢

【问题讨论】:

  • 你真的被困住了吗?你不知道如何做到这一点?
  • filter_input代替isset/empty

标签: php url get return-value


【解决方案1】:

我一直用

$getvalue=isset($_GET['valueiwant'])?$_GET['valueiwant']:-1;

【讨论】:

  • 完美,虽然我更喜欢array_key_exists()而不是isset(),因为如果值为null,isset将返回false
  • @MichelFeldheim $_GET 数据永远不会包含空值,除非您有意注入它。
  • 完美,谢谢。如果允许,我会在 5 分钟内接受答案!
  • @MichelFeldheim:我认为 $_GET 总是string 类型,即使它是一个数字。如果你想要NULL,你会得到一个空字符串(长度为0)。
【解决方案2】:

使用isset() 函数检查偏移是否存在,并返回一个布尔值表明它存在。

这意味着您可以围绕输出构建一个 if 语句。

【讨论】:

    猜你喜欢
    • 2018-04-10
    • 1970-01-01
    • 2018-03-26
    • 2019-02-15
    • 2019-11-12
    • 1970-01-01
    • 2011-04-24
    • 2022-11-17
    • 2013-02-18
    相关资源
    最近更新 更多