索引未设置时,$ _GET会返回什么? (找不到PHP手册约$ _GET的任何东西)
我写了这个检查,如果$ _GET [ '身份证'] isset - 如果不是的话,设置的$ id为false:
<?php $id = (isset($_GET['id'])) ? $_GET['id'] : false ?>
索引未设置时,$ _GET会返回什么? (找不到PHP手册约$ _GET的任何东西)
我写了这个检查,如果$ _GET [ '身份证'] isset - 如果不是的话,设置的$ id为false:
<?php $id = (isset($_GET['id'])) ? $_GET['id'] : false ?>
$ _GET只是一个普通的数组,所以它的行为与任何其他数组完全相同。
这意味着,当您调用不存在的索引时,它会将NULL返回给变量并引发“未定义索引”通知。
你需要知道的与$ _GET是唯一包含不安全(用户可修改)数据
如果未设置索引,则在$_GET
内的该索引上运行isset()
返回false。
取消设置指标的值为NULL。访问它们将导致通知被提出(除非您的错误级别被设置为吞下通知)。
值得一提的是,isset()是一种语言结构而不是函数,这就是为什么在isset()中输入'$ _GET ['nonexistent_key']'不会引起通知被引发的原因。 – Hammerite 2010-07-01 14:07:15
var_dump($_GET['nonexistent']); // outputs NULL
有在手册中的一个示例:PHP: $_GET。
示例脚本的相关部分是:
if(isset($_GET["a"])) echo "a is set\n";
剧本的那部分打印出“被设定为”当a
为通过URL参数传递。 http://path/to/script.php?a
这样,它遵循的规则用于存取阵列的键:
试图访问其 尚未定义的阵列密钥是相同的 访问任何其他未定义的 变量:一个
E_NOTICE
- 级别错误 消息将被发布,并且结果 将为NULL
。
是的,我意识到这一点,所以我使用SQL准备好的语句作为来自get的id去查询。 谢谢! :) – Rihards 2010-07-02 09:37:42