Что возвращает $ _GET ['key'], если ключ не установлен? - PullRequest
7 голосов
/ 01 июля 2010

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

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

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

Ответы [ 6 ]

15 голосов
/ 01 июля 2010

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

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

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

3 голосов
/ 01 июля 2010

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

2 голосов
/ 01 июля 2010
var_dump($_GET['nonexistent']); // outputs NULL

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

1 голос
/ 01 июля 2010

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

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

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

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

0 голосов
/ 01 июля 2010

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

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

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

0 голосов
/ 01 июля 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...