Что возвращает $ _GET , если ключ не установлен?

Что возвращает $ _GET, когда индекс не задан? (Не удалось найти что-либо в руководстве php о $ _GET.)

Я написал это, чтобы проверить, если $ _GET ['id'] isset – и если это не так, установите $ id в false:

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

Related of "Что возвращает $ _GET , если ключ не установлен?"

$ _GET – это просто обычный массив, поэтому он ведет себя точно так же, как и любой другой массив.

Это означает, что он вернет NULL переменной и поднимет уведомление «неопределенного индекса» при вызове несуществующего индекса.

Единственное, что вам нужно знать с помощью $ _GET, это то, что содержит небезопасные (изменяемые пользователем) данные

Устанавливаемые индексы имеют значение NULL. Доступ к ним приведет к тому, что уведомление будет поднято (если только ваш уровень ошибки не установлен для прочтения уведомлений).

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

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

В руководстве есть пример: PHP: $ _GET .

Соответствующая часть сценария примера:

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

Эта часть сценария выводит «a устанавливается», когда a передается как параметр через URL-адрес. HTTP: //path/to/script.php

Если индекс не задан, запуск isset() для этого индекса в $_GET возвращает false.

$_GET – суперглобальный массив :

Таким образом, он следует правилам доступа к ключам массива:

Попытка доступа к ключу массива, который не был определен, совпадает с доступом к любой другой неопределенной переменной: E_NOTICE сообщение об ошибке уровня E_NOTICE , и результат будет NULL .