What does $_GET['key'] return if the key is not set?

ⅰ亾dé卋堺 提交于 2019-12-23 08:26:05

问题


What does $_GET return when the index is not set? (Couldn't find anything in php manual about $_GET.)

I wrote this to check, if the $_GET['id'] isset - and if it is not, set $id to false:

<?php $id = (isset($_GET['id'])) ? $_GET['id'] : false ?>

回答1:


$_GET is just an ordinary array, so it behaves exactly the same as any other array.

This means, it will return NULL to the variable and raise the "undefined index" notice when you call a non-existing index.

The only thing you need to be aware of with $_GET is that is contains unsafe (user-modifiable) data




回答2:


Unset indexes have the value NULL. Accessing them will result in a notice being raised (unless your error level is set to swallow notices).




回答3:


var_dump($_GET['nonexistent']); // outputs NULL

http://php.net/manual/en/function.var-dump.php




回答4:


There's an example in the manual: PHP: $_GET.

The relevant part of the example script is:

if(isset($_GET["a"])) echo "a is set\n";

That part of the script prints out "a is set" when a is passed as a parameter through the URL. http://path/to/script.php?a




回答5:


If the index is not set, running isset() on that index within $_GET returns false.




回答6:


$_GET is a superglobal array:

As such, it follows the rules for accessing array keys:

Attempting to access an array key which has not been defined is the same as accessing any other undefined variable: an E_NOTICE-level error message will be issued, and the result will be NULL.



来源:https://stackoverflow.com/questions/3158397/what-does-getkey-return-if-the-key-is-not-set

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!